System.Reflection.Assembly.GetExecutingAssembly()总是返回0.0.0.0



我已经修改了我的assemblyinfo.cs:

[assembly: AssemblyVersion("1.0.*")]

和_layout。我这样做,以便我可以识别我正在测试的构建:

 @System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString()

它总是打印0.0.0.0

当我去bin文件夹和检查dll属性,版本说1.0.343.2323,所以我不得到它?

显示的程序集名称是某些runtime assembly loaded by IIS,如果应用程序的入口点位于已更新了AssemblyInfo -

的程序集中,则使用EntryAssembly
Assembly.GetEntryAssembly().GetName().Version.ToString();

如果它与调用程序集不同,您可以这样做-

Assembly.GetAssembly(typeof(YourAssembly.AnyClass)).GetName().Version.ToString();

看起来正在执行的程序集不是您编译的程序集,而是IIS创建的动态程序集。

尝试使用

typeof(Your_Type_From_NonWeb_Assembly).Assembly.GetName().Version.ToString()

相关内容

  • 没有找到相关文章

最新更新