每次构建自动推进次版本号(VS 2008)

时间:2009-11-04 15:13:26

标签: visual-studio-2008 assemblies

我使用装配信息版本号 - 并通过VS 2008手动推进。

每次构建解决方案时,有没有办法自动推进次要版本号?

4 个答案:

答案 0 :(得分:2)

我使用这个MSBuild Task来自动增加我的内部版本号 - 需要在* .csproj或* .vbproj文件中进行一些手动修改,但它的工作非常完美,而且非常灵活。

答案 1 :(得分:1)

Visual Studio有一个内置的机制:

AssemblyInfo.cs内,请按以下方式更改设置:

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

Asterisk sign指示Visual Studio在每个构建版本上分配版本1.0.d.s,其中d是自2000年2月1日以来的天数,s是从午夜/ 2开始的秒数。

编辑:

请看一下这个网页:http://www.codeproject.com/KB/dotnet/ManagingAssemblyVersions.aspx有很多关于如何管理版本号的信息。

答案 2 :(得分:0)

IIRC在您的解决方案资源管理器中,点击“显示所有文件”,我相信它是该窗口顶部附近的第三个文件。

(双击)“我的项目”。

接下来,双击“AssemblyInfo.vb”

在代码编辑器中,向下滚动直至到达底部。

评论

替换

<Assembly: AssemblyVersion("1.0.0.0")> 

<Assembly: AssemblyVersion("1.*.0")> 

点击“保存”。

然后你就完成了!

答案 3 :(得分:0)

一个灵活的选择是使用版本编号方案创建T4模板,并引用Visual Studio从中生成的.cs文件。这种模板的一个例子:

&lt;#@ template language =“C#”#&gt; // //此代码由工具生成。手动进行的任何更改都将丢失 //下次重新生成此代码时 //

使用System.Reflection;

[assembly:AssemblyVersion(“1.0.1。&lt;#= this.RevisionNumber#&gt;”)] [assembly:AssemblyFileVersion(“1.0.1。&lt;#= this.RevisionNumber#&gt;”)] &LT;#+     int RevisionNumber =(int)(DateTime.UtcNow - new DateTime(2010,1,1))。TotalDays;

&GT;

在此示例中,修订号设置为自2010年1月1日以来的天数。但您可以提供任何自定义编号方案,因为它是普通的C#。

我写了一篇blog post来更详细地解释这种技巧: