2012-09-11 6 views
5

Dopo l'installazione di Visual Studio .NET 2012 con 4,5 ho iniziato a ottenere i seguenti errori durante la costruzione utilizzando msbuild:msbuild fallisce con msb4064 di errore e msb4063

  • errore MSB4064:

Il parametro "SdkToolsPath" non è supportato dall'attività "GenerateResource". Verificare che il parametro esista nell'attività e che sia una proprietà di istanza pubblica impostabile.

  • errore MSB4063:

Il compito "GenerateResource" non potrebbe essere inizializzato con i parametri di input. intestazione del file di progetto è il seguente:

<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> 

Tutte le idee che le modifiche sono state apportate in .NET 4.5 che potrebbe causare gli errori abover?

risposta

3

È un problema con il file Microsoft.Common.targets in C: \ Windows \ Microsoft.Net \ v4.0.30319. Dopo aver installato Visual Studio 2012, questo file viene modificato. Una delle modifiche apportate riguarda il "fixing" di GenerateResourceMSBuildRuntime nel caso in cui qualcuno aggiorni la propria macchina a Windows 8 (leggere l'elaborato commento alla riga 2271 per i dettagli). La mia soluzione era semplicemente di commentare la seguente riga nel file delle Microsoft.Common.targets

<GenerateResourceMSBuildRuntime 
    Condition="'$(GenerateResourceMSBuildRuntime)' == '' and 
       $([MSBuild]::DoesTaskHostExist(`$(TargetFrameworkAsMSBuildRuntime)`, `$(GenerateResourceMSBuildArchitecture)`))">$(TargetFrameworkAsMSBuildRuntime)</GenerateResourceMSBuildRuntime>