1

我的 CommonAssemblyInfo.cs 中有以下代码

using System.Reflection;
using System.Resources;
using System.Runtime.InteropServices;

[assembly: AssemblyCompany("XXXX")]
[assembly: AssemblyProduct("BuildVersionTest")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCopyright("Copyright 2012")]
[assembly: NeutralResourcesLanguage("en-US")]
[assembly: AssemblyVersion("4.0.*")]
[assembly: AssemblyFileVersion("4.0.6.121017")]
[assembly: AssemblyInformationalVersion("4.0.0.0")]

在我的项目中,我链接了这个文件,并且还有 assemblyinfo.cs

using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("BuildToolUtility")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]
[assembly: Guid("cfgfsfdrf68e-5af7-44f0-b310-f8a8191465fd")]

当我构建我的 dll 文件版本时

4.0.6.55481

为什么?它不应该包含我的 CommonAssemblyInfo.cs 中的内容吗?

检查这张图片: http: //postimage.org/image/nrtab3hk1/

然后在输出窗口中显示另一个版本????我能得到这个。

10:11:52 AssemblyVersion:
10:11:52   ***** Start getting assemblyVersion *****
10:11:52   4.0.4673.16477
10:11:52   ***** Done getting assemblyVersion *****
10:11:52 BuildRepositoryZip:
10:11:52   ***** Start zipping deploy folder. Making package *****
10:11:52   4.0.4673.16477
10:11:52   Creating ZipFile: ..\..\4.0.4673.16477.zip
10:12:11   ***** Done zipping deploy folder. Making package *****
4

1 回答 1

1

您的版本文件属性使用的数字太高,因此它作为 Uint16 溢出。您应该会看到类似警告 CS1607: Assembly generation -- The version '4.0.6.160017' specified for the 'file version' 不是正常的 'major.minor.build.revision' 格式。因此,一旦您的 svn 存储库足够老,您就不能使用原始的 svn 修订号...

于 2012-10-17T12:03:32.883 回答