0

我們有一個管理版本號的構建服務器。當我們調試時,我們創建一個本地構建,也嘗試管理版本號。結果是AssemblyInfo.cs中的永久版本控制(SVN)衝突需要解決。在AssemblyInfo.cs上關閉自動遞增?

注:我們正在使用[assembly: AssemblyVersion("w.x.y.z")],而不是由以下@estebane提到的通配符。

一個人如何關閉Visual Studio 2010中的自動遞增功能?

+0

你在做什麼來創建這些「本地」構建?你是否在使用某種構建過程,比如TFS,TeamCity,Jenkins,自定義MSBuild腳本,這會自動增加版本號? – BryanJ

+0

Hi @Bryan。本地構建是SVN檢查。遠程構建是TeamCity。 – jww

回答

0

在你的AssemblyInfo文件,你可以設置版本,並使用

[assembly: AssemblyVersion("1.0.0.0")] 

如果自動增量激活它看起來像

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

謝謝estebane。從外觀上看,我有'[assembly:AssemblyVersion(「1.0.0。0「)]',它仍然在遞增,那麼如何關閉visual studio 2010中的自動遞增功能呢? – jww

0

試試這避免自動遞增:

  • 開放VS中的項目屬性
  • 單擊該應用程序lication標籤
  • 點擊「程序集信息」按鈕
  • 同時設置了大會和文件版本
  • 乾淨的解決方案,重建
  • 清潔和重建使用DLL作爲參考

如果沒有按」項目工作你的問題在別處。

您可以通過尋找在Windows資源管理器的DLL檢查這些設置的效果,單擊鼠標右鍵,選擇「屬性」,單擊「詳細信息」選項卡上,並檢查文件版本和產品版本領域。如果這些行爲符合預期,請嘗試追蹤您實際加載的過期副本的位置。

+0

Thanks @Sten。這裏的問題是版本控制(遠程修改AssemblyInfo.cs)和調試版本(本地修改AssemblyInfo.cs)和AssemblyInfo.cs的永久衝突,因此我想關閉Auto Increment(並刪除衝突源)的原因 – jww

+0

如果存在遠程修補,則無法解決你有兩個選擇:對參與源代碼控制的所有參與方(包括任何源代碼管理服務器自動化)應用相同的過程,或者從源代碼控制中刪除AssemblyInfo.cs並保留你的本地副本。你有一個構建服務器,你仍然需要在那裏修改版本。 –

0

嘗試用以下設置的1.0.0.0一個固定的程序集版本和固定文件的版本1.0。*。

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

希望這會停止遞增您的程序集版本。

0

好像你有一個非默認的軟件/插件/擴展程序更新的版本號。因爲Visual Studio不會在不使用通配符時執行此操作。

檢查您的Visual Studio AddIns列表和擴展列表。

0

你有任何改變它之前或之後的構建步驟嗎?也許在構建的輸出窗口中查看是否可以指示哪個進程可能會改變它。

如果您最初在你的AssemblyInfo.cs文件[assembly: AssemblyVersion("1.0.0.0")]它改變生成後,比其他VS.NET東西是修改文件。