Delen via


MSB4018 diagnostische code

In dit artikel wordt de MSB4018 foutcode beschreven.

Tekst van het bericht

MSB4018: The 'value' task failed unexpectedly.

Beschrijving

Deze fout wordt gegenereerd wanneer een taak mislukt met een niet-verwerkte uitzondering. Dit probleem is over het algemeen een teken van een fout in de taak.

Deze fout kan optreden wanneer de build een taak uitvoert in een omgeving waarvoor deze niet is voorbereid. Als een taak bijvoorbeeld een x86-afhankelijkheid heeft, maar de taak wordt uitgevoerd in een 64-bits MSBuild-omgeving. Dit scenario kan worden weergegeven als een System.DllNotFoundException uitzondering, zoals wordt weergegeven in de volgende uitvoer:

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()

Resolutie

Zorg ervoor dat de taak een afhankelijkheid uitdrukt van de runtime-omgeving die nodig is in het UsingTask-element van de taak.

Van toepassing op

Alle versies van MSBuild