チーム都市の満たされていない要件:MSBuildTools12.0_x86_Pathが存在します


117

TeamCityをx32 Server2008 Windowsマシンにインストールしています。.net 4.5 Webインストールを実行しました。また、vs2012をインストールする必要がないように、この記事に基づいてx64マシンからファイルをコピーしました(ただし、32ビットマシンでx86を削除するためのパスを変更しました)。

VisualCity 2012ソリューションのTeamCity内のMSBuild

vs2012またはvs2010プロジェクトでmsbuild用にセットアップしたビルドをローカルエージェントに実行させることができないようです。私は得続けます:

満たされていない要件:MSBuildTools12.0_x86_Pathが存在します

サーバーを複数回再起動し、エージェントも再起動しました。パス変数を少しいじってみましたが、何が欠けているのかわかりません。私も設定パラメータを調べて、これらを見ることができます:

MSBuildTools2.0_x86_Path C:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727

MSBuildTools3.5_x86_Path C:\ Windows \ Microsoft.NET \ Framework \ v3.5

MSBuildTools4.0_x86_Path C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319

どうすれば12.0を入手できますか?


TeamCityでまだ問題がありますか?
Daniel Hollinrake 2013年

これを理解するのにかかった時間は、プロジェクトを保留にする必要がありました。春に戻ってきたいです。
archangel76

すべてが機能するまでに少し時間がかかりました。その要点は、MSBuildのインストールとWeb配置の更新です。
Daniel Hollinrake 2014年

回答:


149

MSBuildを個別にインストールする必要があり、エージェントを再起動した後、変数はそこにありました。

(MSDN記事から) MSBuildは、.NET Frameworkの一部としてではなく、Visual Studioの一部としてインストールされるようになりました。現在のMSBuildバージョン番号は12.0です。MSBuildを個別にインストールする場合は、MSBuildダウンロードからインストールパッケージをダウンロードします。

編集:回答リンクが壊れていました。Microsoft Build Tools 2015のリンク(最近のところから今日まで)は次のとおりです。https//www.microsoft.com/en-us/download/details.aspx?id = 48159


8
MSBuild12.0をインストールするには、.NET Frameworkバージョン4.5.1(ここにあります:microsoft.com/en-ca/download/details.aspx ?id=40779)が必要になることに注意してください。
ブランドン

37
エージェントを再起動するには:1.ビルドサーバーに移動します。2.スタートメニューからservices.mscを実行します。3. TeamCityエージェントを見つけ、サービスを停止して再起動します。これは、ベテランのTeamCityの獣医には明らかなように思えるかもしれませんが、私のような初めてのユーザーにはわかりません。:)
Chaim Eliyah 2015

5
MS Build Tools 2013をインストールしましたが、MSBuildTools12.0_x86_Path変数はまだ設定されておらず、エージェントは実行されません。手動で設定する方法はありますか?
bdaniel7 2015

このディレクトリに移動してvcvars64.batを実行する必要がありました:C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ VC \ bin \ amd64その後、msbuildが機能しました。
user8128167 2016

5
デフォルトでslnファイルの自動検出を使用し、ソリューションがVisual Studio 2013に設定されていた場合。エージェントにインストールされているVisual Studio 2015に変更しました。
ptittof57 2016年

33

少し遅い回答ですが、プロジェクトがVS 2012からのもので、自動検出されたソリューションファイルのビルドステップを使用している場合、そのステップを編集し、「Visual Studio」ドロップダウンから「Microsoft Visual Studio 2012」を選択すると、この問題が修正されます同様に(そして、私見、より正確に)。


2
全然遅れない!今日この問題があり、VSバージョンをVS 2015に変更すると、満たされていない要件メッセージが
削除さ

これは私の新鮮なサーバーチームシティー10 VS2015(だった旧2013プロジェクト)のために働いていた
Rippo

2
ええ、私の問題は、「Create Project from URL」オプションからビルドステップを自動検出することを選択したときに、Team Cityが間違ったバージョンのVisual Studioを「自動選択」していたため、ビルドステップに移動して、これを修正するVisual Studioバージョン。私は人々がjmwの答えで必要としないかもしれないものをインストールしようとする前にあなたの答えを最初にチェックすることを望みます。
starmandeluxe 2017

18

同じ問題があり、最終的に、MSBuildを実行するために定義したビルドステップが正しく構成されていないことがわかりました。

私のMSBuildビルドステップで、「MSBuild ToolsVersion」の設定が12.0(デフォルト)に設定されていたため、システムで「Unmet requirements:MSBuildTools12.0_x86_Path exists」というエラーが発生しました。ビルドを実行するのに新しいMSBuild 12.0は必要ないため、ビルドステップでこの設定を4.0に変更しました。このMSBuildバージョンは私のシステムに正しくインストールされています。これで問題は解決しました。


10

パーティーにも少し遅れますが、貧しい人々の助けになるので、以下を共有したいと思いました。

  • 新しいWindows Server 2012 R2ボックスへのTeamCity 8.1.4の新規インストールで上記のエラーが発生しました
  • このスレッドの指示に従いましたが、何度も再起動して再インストールしてもエラーが発生しました。
  • OSやCPUなどのエージェント情報がエージェントの詳細ページに表示されないことに気付きました。これは、問題が.NETおよびMSBUILDの前提条件にあるのではなく、エージェントサービスがマシンに関する情報を読み取れないことに関連していることを示していました。
  • エージェントはユーザーのアカウントで実行されていました(TeamCityのドキュメントに従って必要なすべての権限が付与されています))。しかし、[管理ツール]> [サービス]に移動して、[ログオン]を[ローカルシステムアカウント]に変更するとどうなるかを考えました。
  • エージェントサービスを再起動しました。
  • 大成功。

ローカルサービスとして実行するようにエージェントを変更すると、この問題も修正されました。なぜか分かりません。私が使用しているユーザーをローカルの管理者グループに追加して、それがアクセス許可の問題かどうかを確認しましたが、それでも解決しませんでした。
user381624 2015

8

MSBuildはVisual Studioの一部になりました。ビルドツールをエージェントにインストールする必要があるがVSをインストールしたくない場合は、http://www.microsoft.com/en-us/download/から入手できる新しいMicrosoftビルドツールをインストールする必要があります。 details.aspx?id = 40760


1
参照:ビルドツール2015バージョンのリンク(リンクは2013ツールです)。
Jeroen

そして、ここにある2017年( - >のVisual Studio 2017用のビルドツールのVisual Studio 2017用ツール)
fuglede

5

私の場合-MSBuild for VS2013の個別インストールのみが役立ちました。(ここではリンクです- https://www.microsoft.com/en-us/download/confirmation.aspx?id=40760が)それは、このフォルダの作成C:\Program Files (x86)\MSBuild\12.0VS2015用のMSBuildツールのインストールが作成したC:\Program Files (x86)\MSBuild\14.0このフォルダを、およびTCはしたくありませんでしたこれを使って。


2

セカンダリビルドエージェントでこの問題が発生しました。

MSBuildをインストールするのではなく、MSBuildフォルダーをプライマリビルドエージェントpcからセカンダリビルドエージェントpc にコピーしました(Visual Studio 2012ソリューションのTeamCityのMSBuildで説明されているように、いくつかのVisual Studioファイルで行ったように)。

ただし、TeamCityエージェントサービスは、起動時にMSBuildエントリのレジストリをチェックしているようです(上記のVisual Studioファイルではこれを行っていないようです)。他のPCからファイルをコピーしただけなので、v。12.0のMSBuildエントリが存在しないため、MSCファイルがProgram Files(x86)\ MSBuildフォルダーに存在していても、TeamCityはMSBuildファイルを検出しませんでした。

上記のリンクからMicrosoftビルドツールをインストールしたときhttp://www.microsoft.com/en-us/download/details.aspx?id=40760 id 40760 TeamCityはレジストリにv。12.0エントリを見つけ、エージェントはプライマリエージェントと同じプロジェクトをビルドします。

MS Build Toolsをインストールした後、TeamCityエージェントサービスを必ず再起動してください。


1

私の場合、Windows 2016 ServerにTeamCity Professional 2018.1があります。ここからVisual Studio 2017用のビルドツールをダウンロードしました:https : //visualstudio.microsoft.com/downloads/とビルドツールのすべてのオプションを選択しました。インストール後、MSBuildをグローバルPATH環境変数に追加しました。C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ BuildTools \ MSBuild \ 15.0 \ Bin(私の場合)。


0

私の場合、それはVisual Studioがインストールされていない新しいマシンで、Teamcityを別のマシンから復元したところです。Visual Studio 2013をインストールしてteamcityエージェントの問題を解決しました。


0

上記で述べたように、自動検出されたビルドステップはおそらく間違ったVisual Studioバージョンをピックアップします。[ ビルド構成設定]ページの[ ビルドステップ]セクションにあるVisual Studioドロップダウンを使用して変更します。

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


-1

レジストリに移動し、バージョン12に対応していないMSBuildのすべてのエントリを削除してこの問題を解決したようですが、エージェントを再起動しました。

これを行うには、[スタート]> [ファイル名を指定して実行]に移動し、Regeditと入力します

次に、キーに移動します。

HKEY_LOCAL_MACHINE>ソフトウェア> Microsoft> MSBuild

12.0を除くすべてのバージョンを削除します。

次のレベルのToolsVersionsに移動し、12.0以外のバージョンを削除します。


1
これは悪い考えです
。CI
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.