36

.net Framework 3.5上に.netアプリケーションを構築していますが、JenkinsCIサーバー上でこのアプリケーションを構築しようとしています。MSBuildプラグインを追加し、MSBuildの2.0、3.5、および4.0バージョンの.exeファイルへのパスを追加しました。しかし、以下のエラーメッセージが表示されて、ビルドプロセスが失敗しています。

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  

誰かplzが私を助けてくれますか..??

4

5 に答える 5

82

MSBuildプラグインを機能させるには、Jenkins管理画面でプラグインを構成する必要があります。

注:新しいJenkinsバージョンでは、グローバルツール構成にMSBuild構成があります。

ここに画像の説明を入力してください


JenkinsMSBuildのインストール構成

この特定の構成をv4.0.30319と呼んでいる「名前」フィールドに注意してください。あなたはそれを好きなように呼ぶことができますが、理想的には名前はどういうわけかバージョンを参照します。

失敗しているJenkinsPROJECTの後半で、この名前を参照する必要があります。

注:黄色の警告は、[MSBuildへのパス]フィールドにファイル名ではなくディレクトリ名を入力する必要があることを意味します。実際には、ここにもファイル名(msbuild.exeなど)を入力する必要があります。そうしないと、ビルド手順が失敗します。

失敗しているJenkinsプロジェクトで、MSBuildビルドステップに進みます。

ビルドステップの最初のフィールドは「MSBuildバージョン」です。MSBuildバージョンを構成する前にビルドステップを作成した場合、ここでの値は(デフォルト)になります。

Jenkins MSBuildビルドステップ、(デフォルト)msbuild構成が選択されている

1つ以上のMSBuildバージョンを構成した後、ドロップダウンに使用可能な構成が表示されます。必要なものを選択してください。

上記のインストールに一致する名前付き構成を選択したことがわかります。

名前付きmsbuild構成が選択されたJenkinsMSBuildビルドステップ

于 2012-04-19T12:43:59.407 に答える
13
Jenkins | Manage Jenkins | Configure System

[MSBuild]セクションまで下にスクロールして、[MSBuildのインストール]をクリックします

msbuild.exeへのフルパスを定義します。私のシステムには3.5とv4.0.30319があります。

注-64ビットシステムでも32ビットツールへのパスを指定してください。そうしないと、エラーメッセージが表示される場合があります。

MSBuild64ビットを使用したWindowsPhoneアプリケーションのビルドはサポートされていません。

したがって、Jenkinsでは次のようになります。

名前:バージョン3.5

道:C:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe

名前:バージョン4.0

道:C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSbuild.exe

于 2012-12-04T00:39:09.313 に答える
6

Jenkins構成で「msbuild.exe」の絶対パスを設定する必要があると思います。次に例を示します。

C:\Windows\Microsoft.NET\Framework\v3.5\msbuild.exe
于 2012-04-19T12:26:28.073 に答える
2

また、msbuild.exeがあるパスを、その特定のジョブを実行しているノードのPATHシステム環境変数に追加することもできます。

于 2015-10-21T08:38:28.707 に答える
-2

あなたは実行してみることができます

%comspec% /k ""c:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"" x86

コマンド。VS2010ビルド環境を反映するように環境パス変数を一時的に更新します。MSBUILDを呼び出す前にこれを実行して、何が起こるかを確認してください。私はこれを自分のビルドスクリプトで問題なく使用しています。

サイドノート; PATHに複数のバージョンのMSBUILDがあると、逆効果になる可能性が非常に高くなります。1つのバージョンを機能させることに集中し、そこから進んでください。

于 2012-04-19T12:27:08.633 に答える