如何使用ASP.NET MVC和WinForms跟踪版本号?

时间:2010-06-24 22:24:34

标签: .net continuous-integration versioning

我无法找到.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提供版本号?

1 个答案:

答案 0 :(得分:0)

尝试使用MSBuildVersioning DLL,它适用于ASP .NET MVC 2和Winforms。