【发布时间】:2014-03-07 10:32:13
【问题描述】:
我们在单独的属性文件中拥有 AssemblyVersion 和 AssemblyFileVersion 属性。这是因为它们在所有项目之间“链接”并由构建服务器更新。我们不想在每次构建或发布后手动更新版本。
AssemblyInfo.cs:
[assembly: AssemblyTitle("MyProductTitle")]
[assembly: AssemblyCulture("")]
[assembly: Guid("579eb194-08f1-44fc-9422-21aaf6cb2963")]
AssemblyVersionInfo.cs:
[assembly: AssemblyFileVersion("0.0.14056.19")]
[assembly: AssemblyVersion("0.0.0.0")]
问题是我们的构建服务器对每个项目都抱怨以下警告:
CA1016 : Microsoft.Design : Add an AssemblyVersion attribute to 'MyProduct.dll'.
在本地构建项目时,bin 中的实际 DLL 文件应用了所有版本号(文件属性对话框):
在 Visual Studio 中查看项目属性时,在 Assembly Info 中未检测到版本信息:
我的猜测是这是因为AssemblyVersion 和AssemblyFileVersion 不在AssemblyInfo.cs 中。
有没有办法“包含”自定义AssemblyVersionInfo.cs 文件?
【问题讨论】:
-
只有AssemblyInfo.cs is parsed by the dialog,因此无法在该对话框中获取该信息。您的构建服务器脚本和本地构建有什么区别?您能否将 /v:diag 添加到 tfsbuild.rsp 以便了解该链接文件是否实际加载到工作区并编译? blogs.msdn.com/b/aaronhallberg/archive/2007/05/03/…
标签: c# .net tfs msbuild assemblyinfo