如何设置visual studio 2010以在每个构建上设置为项目的自动增量版本

时间:2010-08-11 11:03:13

标签: visual-studio-2010

如何设置 visual studio 2010 以在每个构建中设置为项目的自动增量版本?

vs2010上是否存在此功能?

5 个答案:

答案 0 :(得分:16)

更改AssemblyInfo.cs文件:

[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

[assembly: AssemblyVersion("1.0.*")]
//[assembly: AssemblyFileVersion("1.0.0.0")]

答案 1 :(得分:15)

正如其他人提到的那样,1.0。*总是被替换为1.0。{date}。{time]所以它应该总是增量(你会想到)

在VS2010中将AssemblyVersion更改为[assembly:AssemblyVersion(“1.0。*”)]有效,请注意您必须关闭解决方案/项目,重新打开它然后重新构建(不构建)来刷新/更改构建+修订版值。

日期/时间似乎是从项目打开时获得的,因此关闭/重新打开以刷新修订/构建值,我想如果您一次性更改项目中的各个位,这将非常有用并且它不会继续更改AssemblyVersion可能会破坏其他位。

To return the date from the build value:
   DateAdd(DateInterval.Day, build, DateValue("01/01/2000"))
   ' build is the number of days from 1/1/2000
To return the time from the revision value:
   Date.FromOADate(revision / 1800 / 24) 
   ' depending on your timezone you may have DST/BST issue with resulting time 

答案 2 :(得分:4)

如果用c / c ++开发本机软件,那么AssemblyInfo.cs文件就不存在了...因此这个答案对于那里的很多开发人员来说都是无用的 - 人们可以看看http://autobuildversion.codeplex.com ...但是这个扩展似乎不适用于VS2010,尽管网站说不然 - 如果你使用旧版本的VS,你可能会很高兴,不过

答案 3 :(得分:1)

我刚刚尝试了autobuildincrement方法并且遇到了Visual Studio 2010的问题,但是我找到了一种方法来使它工作。将“构建前增量”设置为“假”。然后,即使在Visual Studio 2010中,每次构建后都会更新assempblyinfo.cs文件。

请注意,您的dll上的程序集信息在第一次构建时不会更改,但会在此之后更改。

答案 4 :(得分:1)

DateTime.Parse(@"1/1/2000")
    .AddDays(FileVersionInfo.GetVersionInfo(
        System.Reflection.Assembly.GetEntryAssembly().Location
      ).FileBuildPart)
    .AddSeconds(FileVersionInfo.GetVersionInfo(
        System.Reflection.Assembly.GetEntryAssembly().Location
      ).FilePrivatePart * 2)
相关问题