【发布时间】:2016-08-24 08:18:46
【问题描述】:
似乎一切都在一夜之间同时破裂......叹息。
为了解决其他随机问题,我拼命尝试构建我们的大型项目,结果却发现我们的 teamcity 构建代理无法再完成他们的工作。错误信息如下:
[CallTarget] Version (1s)
[Version] MSBuild.ExtensionPack.Framework.AssemblyInfo (1s)
[MSBuild.ExtensionPack.Framework.AssemblyInfo] I:\BuildAgent-DEVTC1\work\e7d35660eba50bd6\build.proj(150, 3): error MSB4018: The "MSBuild.ExtensionPack.Framework.AssemblyInfo" task failed unexpectedly.
System.ArgumentNullException: Value cannot be null.
Parameter name: input
at System.Text.RegularExpressions.Regex.Matches(String input)
at MSBuild.ExtensionPack.Framework.Version.ParseVersion(String version) in D:\Projects\MSBuildExtensionPack\Releases\4.0.3.0\Main\Framework\Framework\AssemblyInfo\Version.cs:line 51
at MSBuild.ExtensionPack.Framework.AssemblyInfo.Execute() in D:\Projects\MSBuildExtensionPack\Releases\4.0.3.0\Main\Framework\Framework\AssemblyInfo\AssemblyInfo.cs:line 1011
at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()
Version 目标的项目定义如下,其中@VersionDefinition 是所有 AssemblyInfo.cs 文件的“inlcude”:
<Target Name="Version">
<MSBuild.ExtensionPack.Framework.AssemblyInfo
AssemblyInfoFiles="@(VersionDefinition)"
AssemblyVersion="$(BUILD_NUMBER)"
AssemblyCopyright="Copywrite info here"
AssemblyCompany="Company info here"
AssemblyFileVersion="$(BUILD_NUMBER)"/>
</Target>
我可以看到 teamcity 也正确地传递了 BUILD_NUMBER 和一个有效值。
有什么想法吗?
我愿意接受不依赖扩展包来设置 AssemblyInfo.cs 编号的建议。我查看了 TeamCity Assembly Info Patcher,但不确定其描述中所指的“标准位置”。
顺便说一句,Windows 或 .NET 最近是否有任何更新可能破坏一切……无处不在?我最近有许多第三方库几乎同时开始失败。
谢谢
更新 最近成功构建的日志甚至没有显示正在调用的版本目标...这很奇怪,因为这是设置正确构建号的唯一位置,并且构建创建的文件应用了正确的编号。
【问题讨论】:
-
为什么投反对票?