2010-08-11 62 views

回答

4

的AssemblyInfo.cs中 - 文件犯规存在,如果你deveolping用C/C++本地软件......因此这个答案对于那里的很多开发人员来说是没用的 - 可以看看http://autobuildversion.codeplex.com ......但是这个扩展似乎不适用于VS2010,尽管网站另有说明 - 如果您使用的是旧版本,则可能会很好VS的版本,尽管

+0

查看本系列博客文章:http://www.zachburlingame.com/2011/02/mapping-binaries-in-the-field-to-source-code-in-the-repository/ 2. http://www.zachburlingame.com/2011/02/versioning-a-native-cc-binary-with-visual-studio/ 3. http://www.zachburlingame.com/2011/02/integrating-版本自动/ – oob 2011-04-14 21:36:46

+0

OP请求VS2010支持,这个插件不适用于2010年,尽管它详细介绍了一种解决方法(尝试过,但它不起作用)。 – garfbradaz 2015-12-29 11:10:47

+0

你的阅读理解不是那么发达,是吗? – specializt 2015-12-29 14:07:22

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")] 
+0

哦得益于它的完美 – Sadegh 2010-08-11 11:13:28

+0

唯一的问题是,*代替数量并不总是递增。 – 2010-08-27 07:11:33

+0

1.0。*总是替换为1.0。{date}。{time],所以它应该始终为增量。 – Floyd 2010-08-27 07:41:41

1

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

+0

我假设你正在谈论的自动生成版本工具,但你还没有明确http://autobuildversion.codeplex.com – 2013-09-05 14:49:50

15

至于别人提到了1.0。*总是与1.0替换。{日期} {时间]所以应该始终递增(你会想到)

在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 
+6

+1提及你需要关闭并重新打开解决方案,确实让新用户想知道为什么他们的构建数字不会改变。 – Dav 2012-09-05 15:57:38

+0

给出的答案不适用于Visual Studio 2010,这是OP要求的。 – garfbradaz 2015-12-29 11:09:58

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) 
相关问题