다음을 통해 공유


진단 코드 MSB4018

이 문서에서는 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의 모든 버전