2012-11-16 113 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的属性>细节的细节时。