msbuild装配编号 - 获取错误的编号

时间:2012-10-17 08:28:41

标签: msbuild msbuild-task msbuild-4.0 msbuildcommunitytasks msbuildextensionpack

我的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/

然后在输出窗口显示另一个verison ????我可以得到这个。

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 *****

1 个答案:

答案 0 :(得分:1)

您的版本文件属性使用的数字太高,因此其溢出为Uint16。  您应该看到警告CS1607:程序集生成之类的内容 - 为“文件版本”指定的版本“4.0.6.160017”不是正常的“major.minor.build.revision”格式。 因此,一旦你的svn repo变得足够老,你就不能使用你的原始svn版本号了......