wake-up-neo.com

"Task fehlgeschlagen, weil AXImp.exe nicht gefunden wurde", wenn MSBuild 12 zum Erstellen eines MVC 4.0-Projekts verwendet wurde

Ich versuche, einen Build-Server mit CruiseControl.Net und MSBuild einzurichten. Der Fehler schlägt jedoch fehl:

 "C:\Builds\PremiumStore\checkout\PremiumStore.sln" (default target) (1) ->
    "C:\Builds\PremiumStore\checkout\Web\PremiumStoreWeb.csproj" (default target) (37) ->
    (ResolveComReferences target) ->
    C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(2151,5):     
    error MSB3091: Task failed because "AxImp.exe" was not found, or the correct Microsoft  
    Windows SDK is not installed.
 The task is looking for "AxImp.exe" in the "bin" subdirectory beneath the location specified in the InstallationFolder value of the registry key `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v8.1A\WinSDK-  NetFx40Tools-x86.`

 You may be able to solve the problem by doing one of the following:    

 1. Install the Microsoft Windows SDK.

 2. Install Visual Studio

 3. Manually set

    the above registry key to the correct location.  4) Pass the correct location into the 
    "ToolPath" parameter of the task. 
    [C:\Builds\PremiumStore\checkout\Web\PremiumStoreWeb.csproj]

Dasselbe gilt für meinen eigenen Rechner, nicht für den Server.

Ich habe versucht, im gesamten Internet nach einer Lösung zu suchen, kann aber keine finden. Wenn möglich, möchte ich Visual Studio nicht auf dem Build-Server installieren. Es ist ein bisschen übertrieben, ein komplettes IDE zu installieren, um Befehlszeilen-Builds auszuführen. Ich habe die Microsoft Build Tools 2013 auf diesem Server installiert, aber es scheint nicht zu helfen.

Ich habe versucht, den Pfad in die Registrierung einzutragen, wie in der Fehlermeldung vorgeschlagen, aber das hat auch nicht funktioniert. Ich habe auch den in der Registry angegebenen Pfad überprüft und die aximp.exe ist zwar vorhanden, aber in einem Unterordner namens "NetFx 4.5.1 Tools". Das Kopieren der Dateien von einer Ebene in den übergeordneten Ordner "bin" scheint jedoch nicht hilfreich zu sein.

Wenn es hilft, wird mein Build-Server unter Windows Server 2012 ausgeführt. 

Danke im Voraus.

11
ckng

Was sie als Schritt 1 ("Installieren des Microsoft Windows SDK") empfehlen, ist der richtige Hinweis. Installieren Sie das Microsoft Windows SDK .

5
dnord

Für Windows 10 habe ich "Microsoft Windows SDK" 8.1 installiert, was mir aber nicht weitergeholfen hat.

Also folgte ich in der Fehlerbeschreibung von 3) : Manuelle Einstellung des Registrierungsschlüssels.

Befehl "regedit" aus CMD geöffnet und gefundener Speicherort (als Ausnahme vorgeschlagen) HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows \ v8.0A
Der Ordner " WinSDK-NetFx40Tools-x86 " war nicht vorhanden, also habe ich ihn erstellt und mit den folgenden Schlüsseln erfüllt:

Komponentenname : Windows SDK-Tools für .NET Framework 4.0
Installationsordner : C:\Programme (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0-Tools \
Produktversion : 8.0.50727

Stellen Sie sicher, dass Sie in "C:\Programme (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools" AxImp.exe installiert haben

Mit demselben Algorithmus können Sie es mit einer anderen Version versuchen - v8.1A. 

3
rock_walker

Ich habe mein Problem bei der Installation von Windows 8.1 SDK behoben. _

2
Julio Nobre

Um dieses Problem zu umgehen, musste ich die folgenden Schritte ausführen.

  • Ich musste das Windows SDK (in meinem Fall Version 7.1) installieren, es wurde jedoch aus Gründen, die in dieser Frage behandelt wurden, nicht installiert.
  • Ich habe dann die in der Antwort auf diese Frage beschriebenen Registrierungsschlüssel geändert, aber es wurde die Fehlermeldung "Fehler beim Schreiben des neuen Inhalts des Werts" angezeigt. Botschaft;
  • Ich folgte diesem Leitfaden (auch in den Kommentaren mit der Antwort auf die vorgenannte Frage verknüpft), um die Registrierungsschlüssel trotzdem zu ändern.
  • Ich konnte dann das Windows SDK installieren und erstellte dann manuell den Registrierungsschlüssel, nach dem gesucht wurde, um sicherzustellen, dass der Wert "InstallationFolder" auf den neu erstellten SDK-Ordner verweist (in meinem Fall "C:\Programme\Microsoft") SDKs\Windows\v7.1 ").

Dies erlaubte mir, diesen Fehler zu überwinden.

1

Dies ist immer noch ein Problem, das ich heute gesehen habe, und ich entdeckte, dass es beim Kompilieren der Anwendung in Visual Studio richtig kompiliert wurde, die MSBuild.exe jedoch von C:\Windows\Microsoft.NET\Framework\v4 aus ausgeführt wurde .0.30319\MSBuild.exe hat diesen Fehler generiert.

Nachdem ich das .NET 4.7.2-SDK installiert hatte und immer noch das gleiche Problem hatte, entdeckte ich, dass es andere Instanzen von MSBuild.exe gibt.

Ich habe unser Erstellungsskript geändert, um stattdessenC:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exezu verwenden, und das Problem "magisch" ging weg.

0
Ben Keene

Ich hatte lange Zeit damit zu kämpfen. Ich muss sechzehn verschiedene Dinge installiert und zwanzig verschiedene Versionen der Registrierungsschlüsselantwort versucht haben ( "Task fehlgeschlagen, da AXImp.exe nicht gefunden wurde", wenn MSBuild 12 zum Erstellen eines MVC 4.0-Projekts ) verwendet wurde. Am Ende fand ich heraus, dass ich buildtools v14 verwendet hatte, als ich 15 hätte verwenden sollen. Also anstatt C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe zu verwenden, verwendete ich C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\MSBuild.exe, und dann verschwand der Fehler.

0
L42

Um dieses Problem zu lösen, habe ich Windows SDK 10, 8 und 7 installiert und die Registrierung so geändert, dass sie auf die richtige Position zeigt, an der AxImp.exe lokalisiert wird. Aber leider habe ich immer noch den gleichen Fehler bekommen.

Ich habe nur gelegentlich mit MSBuild 14.0 anstelle von 4.0 (C:\Windows\Microsoft.NET\Framework\v4.0.30319) festgestellt, dass mein Projekt erfolgreich erstellt werden kann.

Um MSBuild 14.0 verwenden zu können, müssen Sie den Pfad in der Umgebungsvariablen konfigurieren.

0
Owen Cao