この記事では、MSB4018エラー コードについて説明します。
メッセージ テキスト
MSB4018: The 'value' task failed unexpectedly.
説明
このエラーは、タスクがハンドルされない例外で失敗したときに生成されます。 通常、この問題はタスクのバグの兆候です。
ビルドが準備されていない環境でタスクを実行すると、このエラーが発生する可能性があります。 たとえば、タスクに x86 依存関係があるが、タスクが 64 ビット MSBuild 環境で実行されている場合などです。 このシナリオは、次の出力に示すように、 System.DllNotFoundException
例外として現れる可能性があります。
S:\BitnessInMSBuild\ShowErrors.proj(6,7): error MSB4018: The "AnyCPUTaskWithPInvoke" task failed unexpectedly.
S:\BitnessInMSBuild\ShowErrors.proj(6,7): error MSB4018: System.DllNotFoundException: Unable to load DLL 'Native32BitLibrary.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
S:\BitnessInMSBuild\ShowErrors.proj(6,7): error MSB4018: at AnyCPUTaskWithPInvoke.AnyCPUTaskWithPInvoke.NativeMethod()
S:\BitnessInMSBuild\ShowErrors.proj(6,7): error MSB4018: at AnyCPUTaskWithPInvoke.AnyCPUTaskWithPInvoke.OtherMethod() in S:\BitnessInMSBuild\AnyCPUTaskWithPInvoke\AnyCPUTaskWithPInvoke.cs:line 19
S:\BitnessInMSBuild\ShowErrors.proj(6,7): error MSB4018: at AnyCPUTaskWithPInvoke.AnyCPUTaskWithPInvoke.Execute() in S:\BitnessInMSBuild\AnyCPUTaskWithPInvoke\AnyCPUTaskWithPInvoke.cs:line 12
S:\BitnessInMSBuild\ShowErrors.proj(6,7): error MSB4018: at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
S:\BitnessInMSBuild\ShowErrors.proj(6,7): error MSB4018: at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()
解決策
タスクがタスクの UsingTask 要素で必要なランタイム環境への依存関係を表していることを確認します。
対象
MSBuild のすべてのバージョン