3

Jenkins でこのビルド エラーが発生します。それに対する解決策を探し出す助け、または誰かが私を正しい方向に向けてくれることさえあれば幸いです。

これは私が得ているエラーです:

"D:\Jenkins\jobs*REDACTED*\workspace\CAPS.msbuild" (既定のターゲット) (1) -> (コンパイル ターゲット) -> エラー MSB4018: "AssemblyInfo" タスクが予期せず失敗しました。System.ArgumentException: バージョン パラメーター名: 指定された文字列は、Microsoft.Build.BackEnd の Microsoft.Build.Extras.AssemblyInfo.Execute() の Microsoft.Build.Extras.Version.ParseVersion(String version) で有効なバージョン番号ではありません。 Microsoft.Build.BackEnd.TaskBuilder.d__20.MoveNext() での TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()

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

2 に答える 2

4

私の推測では、VersionLabel変数の使用は解決されておらず、リテラル2.0。$(VersionLabel)をAssemblyInfoファイルに書き込もうとしています。

補足:AssemblyVersionとAssemblyFileVersionを同じ番号に設定しているため、名前の強い状況では、DLLをホットスワップできません。通常、AssemblyVersionは「2.0」になり、AssemblyFileVersionは「2.0.13345.02」または番号付けスキームになります。そうすれば、2週間でビルドされた「2.0」で「2.0.13352.01」と表示されるdllをスワップインしても、引き続き機能する可能性があります。

パッケージ全体を毎回公開している場合、これは重要ではないかもしれませんが、フィールドを正しく使用していません。

別の質問からこの回答を参照してください

于 2012-11-30T17:28:05.727 に答える
1

タスクのバグです。アセンブリ情報の [assembly: AssemblyVersion("2.0.*")] を [assembly: AssemblyVersion("2.0.0.0")] のバージョンに変更すると、機能します。

于 2012-12-02T07:51:35.800 に答える