2010-08-11 60 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) 
相關問題