2012-11-16 174 views
5

我有,我曾試圖關閉警告一個共同的組件文件:關閉警告CS1607

警告CS1607:程序集生成 - 版本「2.0.4.121106」爲「文件版本」指定是不是在正常的「major.minor.build.revision」格式

我已經做到這一點,但它不工作:

#pragma warning disable 1607  
[assembly: AssemblyVersion("2.0.*")] 
[assembly: AssemblyFileVersion("2.0.4.121106")] 
[assembly: AssemblyInformationalVersion("2.0.0.0")] 
#pragma warning restore 1607 

所以是有一些方法的代碼來做到這一點?

+2

此警告是有原因的。因爲在OS級別,版本號的每個部分只能是16位,如果忽略此錯誤,操作系統將顯示損壞的版本號。在你的情況下,操作系統版本號將顯示爲2.0.4.55570。 – bitbonk

回答

6

您可以在「構建」選項卡的項目屬性中執行此操作。有一個叫做「取消警告」的字段,你應該在那裏放置「1607」。

+2

我已經這樣做了,但它仍然作爲警告 – user1423277

+2

另外,請注意,這將禁用所有其他(可能有價值的)CS1607警告,而不僅僅是版本號。 – bitbonk

13

你得到錯誤的原因是因爲修訂號大於65534.而且我發現對於我的解決方案研究同樣的問題是,沒有辦法(或簡單/正確)來抑制此警告。但是,爲了讓我們繞過它,我們發現,我們可以作爲一個例子您的版本設置了AssemblyVersion.cs下面的代碼:

[assembly: AssemblyFileVersion("2.0.0.0")] 
[assembly: AssemblyInformationalVersion("2.0.4.121106")] 

這將使我們的DLL文件「2.0的產品版本。 4.121106「,當查看我們的dll的屬性>細節的細節時。