我在Jenkins上遇到了构建错误。我希望能有人帮我找出解决方案,甚至只是指点一下方向。
这是我得到的错误信息:
"D:\Jenkins\jobs*REDACTED*\workspace\CAPS.msbuild" (default target) (1) -> (Compile target) -> error MSB4018: The "AssemblyInfo" task failed unexpectedly. System.ArgumentException: version Parameter name: The specified string is not a valid version number at Microsoft.Build.Extras.Version.ParseVersion(String version) at Microsoft.Build.Extras.AssemblyInfo.Execute() at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() at Microsoft.Build.BackEnd.TaskBuilder.d__20.MoveNext()
我已经确认 AssemblyInfo.cs 文件看起来都很好(就我所知),解决方案的 msbuild 文件也没有什么异常。
我已经搜索了我能想到的所有错误派生形式。
任何建议都将不胜感激。
从 AssemblyInfo.cs 文件中:
这可能也与以下相关:
这是我得到的错误信息:
"D:\Jenkins\jobs*REDACTED*\workspace\CAPS.msbuild" (default target) (1) -> (Compile target) -> error MSB4018: The "AssemblyInfo" task failed unexpectedly. System.ArgumentException: version Parameter name: The specified string is not a valid version number at Microsoft.Build.Extras.Version.ParseVersion(String version) at Microsoft.Build.Extras.AssemblyInfo.Execute() at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() at Microsoft.Build.BackEnd.TaskBuilder.d__20.MoveNext()
我已经确认 AssemblyInfo.cs 文件看起来都很好(就我所知),解决方案的 msbuild 文件也没有什么异常。
我已经搜索了我能想到的所有错误派生形式。
任何建议都将不胜感激。
从 AssemblyInfo.cs 文件中:
[assembly: AssemblyVersion("2.0.*")]
从msbuild文件中:
<PropertyGroup>
<ProjectName>CAPS</ProjectName>
<Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
<VersionLabel Condition=" '$(VersionLabel)' == '' ">0.0</VersionLabel>
<AssemblyVersion>2.0.$(VersionLabel)</AssemblyVersion>
</PropertyGroup>
这可能也与以下相关:
<Target Name="Compile">
<ItemGroup>
<UpdateFiles Include="**\AssemblyInfo.cs" Exclude="**\.svn\**" />
</ItemGroup>
<AssemblyInfo AssemblyInfoFiles="@(UpdateFiles)" AssemblyVersion="$(AssemblyVersion)" AssemblyFileVersion="$(AssemblyVersion)"/>
<MSBuild Projects="$(ProjectName).sln" Properties="Configuration=$(Configuration);RunCodeAnalysis=true" />
</Target>
$(AssemblyVersion)
得到了预期的值?<Message Text="$(AssemblyVersion)"/>
可以展示给你。 - Anders Lindahl