Ich habe eine .NET-Anwendung, die auf .NET Framework 3.5 basiert. Ich versuche, diese Anwendung auf dem Jenkins CI-Server zu erstellen. Ich habe das MSBuild-Plugin und den Pfad zur EXE-Datei der Versionen 2.0, 3.5 und 4.0 von MSBuild hinzugefügt. Meine Erstellungsprozesse schlagen jedoch fehl, da die folgende Fehlermeldung angezeigt wird.
Path To MSBuild.exe: msbuild.exe
Executing command: cmd.exe /C msbuild.exe Neo.sln && exit %%ERRORLEVEL%%
[Test project] $ cmd.exe /C msbuild.exe Neo.sln && exit %%ERRORLEVEL%%
'msbuild.exe' is not recognized as an internal or external command,
operable program or batch file.
Build step 'Build a Visual Studio project or solution using MSBuild.' marked uild as failure
Finished: FAILURE
Könnte mir jemand helfen, bitte?
Damit das MSBuild-Plugin funktioniert, müssen Sie das Plugin im Verwaltungsbildschirm von Jenkins konfigurieren.
HINWEIS: In den neueren Jenkins-Versionen finden Sie die MSBuild-Konfiguration in der globalen Tool-Konfiguration:
Beachten Sie das Feld "Name", in dem ich diese spezielle Konfiguration v4.0.30319 aufgerufen habe. Sie könnten es so nennen, wie Sie möchten, aber im Idealfall wird der Name irgendwie auf die Version verweisen.
Sie müssen später im Jenkins PROJECT, das fehlschlägt, auf diesen Namen verweisen.
Hinweis: Die gelbe Warnung besagt, dass das Feld Pfad zu MSBuild mit einem Verzeichnisnamen anstelle eines Dateinamens ausgefüllt werden sollte. In der Praxis müssen Sie den Dateinamen auch hier eingeben (zB msbuild.exe), sonst schlägt der Build-Schritt fehl.
Fahren Sie im fehlgeschlagenen Jenkins-Projekt mit dem MSBuild-Erstellungsschritt fort.
Das erste Feld im Erstellungsschritt ist "MSBuild-Version". Wenn Sie den Erstellungsschritt vor dem Konfigurieren von MSBuild-Versionen erstellt haben, lautet der Wert hier (Standard).
Nachdem Sie eine oder mehrere MSBuild-Versionen konfiguriert haben, werden in der Dropdown-Liste die verfügbaren Konfigurationen angezeigt. Wählen Sie die gewünschte aus.
Sie können hier sehen, dass ich jetzt die benannte Konfiguration ausgewählt habe, die der obigen Installation entspricht.
Jenkins | Manage Jenkins | Configure System
scrollen Sie zum Abschnitt MSBuild und klicken Sie auf MSBuild-Installationen
definiere den vollständigen Pfad zu msbuild.exe, auf meinem System habe ich 3.5 und v4.0.30319
Hinweis - Geben Sie den Pfad zu 32-Bit-Tools auch auf einem 64-Bit-System an. Andernfalls wird möglicherweise eine Fehlermeldung angezeigt:
Das Erstellen einer Windows Phone-Anwendung mit MSBuild 64-Bit wird nicht unterstützt.
So in Jenkins - es könnte zum Beispiel sein:
Name: Version 3.5
Pfad: C:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe
Name: Version 4.0
Pfad: C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSbuild.exe
Ich denke, Sie sollten einen absoluten Pfad für "msbuild.exe" in Ihrer Jenkins-Konfiguration festlegen, zum Beispiel:
C:\Windows\Microsoft.NET\Framework\v3.5\msbuild.exe
Sie können auch den Pfad, in dem sich die Datei msbuild.exe befindet, zur Umgebungsvariablen PATH des Knotens (oder der Knoten) hinzufügen, auf dem der betreffende Job ausgeführt wird.