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.
Was sie als Schritt 1 ("Installieren des Microsoft Windows SDK") empfehlen, ist der richtige Hinweis. Installieren Sie das Microsoft Windows SDK .
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.
Ich habe mein Problem bei der Installation von Windows 8.1 SDK behoben. _
Um dieses Problem zu umgehen, musste ich die folgenden Schritte ausführen.
Dies erlaubte mir, diesen Fehler zu überwinden.
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.exe
zu verwenden, und das Problem "magisch" ging weg.
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.
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.