我无法找到.NET框架中的内置机制,以便在构建时设置版本信息。我们的开发工作主要针对使用ClickOnce部署的WinForms应用程序。为此,我们已经有一个就地系统和工作。我想尝试扩展我们已经拥有的一些ASP.NET MVC项目。
在我们的CI服务器开始构建我们的WinForms应用程序之前,我们打开.csproj文件并根据我们的CC.NET内部版本号和当前的SVN版本调整一些值。主要和次要版本号在配置文件中手动设置。
changeNodeValue('ApplicationVersion', version) // Version like "1.0.111.2222"
changeNodeValue('ApplicationRevision', revision) // SVN Revision like "2222"
所以,我们在共享库中有这样的东西。
if (ApplicationDeployment.IsNetworkDeployed)
return ApplicationDeployment.CurrentDeployment.CurrentVersion.ToString();
else
return "development";
这在我们的WinForms应用程序中自然可以正常工作。从ClickOnce(我们的Web项目)未部署的应用程序调用此方法始终返回“development”。
我是否可以为ASP.NET MVC应用程序执行相同的操作,即调整项目文件或构建参数以向.NET提供版本号?