我希望我的应用程序的version属性为每个构建增加,但我不确定如何在Visual Studio(2005/2008)中启用此功能.我试图将AssemblyVersion指定为1.0.*但它并没有让我得到我想要的.
我也使用了一个设置文件,并且在早期的尝试中,当程序集版本发生更改时,我的设置被重置为默认值,因为应用程序在另一个目录中查找了设置文件.
我希望能够以1.1.38的形式显示版本号,因此当用户发现问题时,我可以记录他们正在使用的版本,并告诉他们如果他们有旧版本则升级.
还将理解版本控制如何工作的简短说明.构建和修订号何时增加?
如何在引用的程序集中获取调用Web应用程序的版本号?
我尝试过使用System.Reflection.Assembly.GetCallingAssembly().GetName()但它只是给我动态编译的程序集(返回版本号0.0.0.0).
更新:在我的情况下,我需要一个解决方案,不需要引用回Web应用程序集中的类.Jason在下面的答案(标记为已接受)符合此要求 - 此处提交的许多其他人都没有.
奇怪的是这里.根据设置的内容,我的MVC Web应用程序的版本号无法正确打印到我的视图中AssemblyInfo.cs.我在集合中设置的定义AssemblyInfo.cs是' 1.0.232.0'.
我尝试了多种方法来打印它:
<%= System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString()%>
Run Code Online (Sandbox Code Playgroud)
(结果0.0.0.0)
<%= System.Reflection.Assembly.GetCallingAssembly().GetName().Version.ToString()%>
Run Code Online (Sandbox Code Playgroud)
(结果是2.0.0.0,在我的项目中没有设置.)
<%= typeof(HomeController).GetType().Assembly.GetName().Version.ToString()%>
Run Code Online (Sandbox Code Playgroud)
(结果2.0.0.0)
这让我相信它一定不能拿起我的AssemblyInfo.cs文件?如果我尝试使用"发布"按钮在我们的开发服务器上发布到IIS,情况也是如此.
有任何想法吗?也许我使用错误的语句来获取版本号?:\
多谢你们.