我用这个修改了我的assemblyinfo.cs:
[assembly: AssemblyVersion("1.0.*")]
在_layout.cshtml上,我把它放在这里,以便我可以识别我正在测试的构建版本:
@System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString()
它始终打印0.0.0.0
当我进入bin文件夹并检查dll属性时,版本说1.0.343.2323所以我不明白它?
答案 0 :(得分:11)
显示的程序集名称为runtime assembly loaded by IIS
,如果应用程序的入口点位于已更新AssemblyInfo的程序集中,则使用EntryAssembly
-
Assembly.GetEntryAssembly().GetName().Version.ToString();
如果它与调用程序集不同,你可以这样做 -
Assembly.GetAssembly(typeof(YourAssembly.AnyClass)).GetName().Version.ToString();
答案 1 :(得分:5)
看起来执行的程序集不是您编译的程序集,而是由IIS创建的动态程序集。
尝试使用
typeof(Your_Type_From_NonWeb_Assembly).Assembly.GetName().Version.ToString()