web-dev-qa-db-ja.com

エラー「msbuild、visualstudio、vstestのエージェントは見つかりませんでした」

TFS 2015を使用して新しいビルドサーバーをセットアップしています。エージェントを構成した後、ビルドをキューに入れようとしたときに次のエラーが発生しました。

次の機能を持つエージェントは見つかりませんでした:msbuild、visualstudio、vstest

これはどのように解決できますか?

64
Jean Jimenez

ビルドエージェントにVisual Studioをインストールしてから、ビルドエージェントを再起動します。ビルドエージェントを再起動すると、追加された機能がキャプチャされます。

49
Daniel Mann

注:まず、コミュニティエディションとTFS Express 2015を使用して自分のサーバーでこれをすべて実行できます(最大5ユーザーまで無料)- Visual Studioのオンラインバージョンを使用する必要や、Visual Studio Professionalの料金を支払う心配はありません。


提供されたエラーメッセージを誤って解釈し、それをデバッグしようとしている野生のガチョウの追跡に行くのは非常に簡単です。

残念なことに、メッセージ自体は不適切な言葉遣いであり、それが本当の問題です。

エラーメッセージreallyの意味は次のとおりです。

「msbuild、visualstudio、vstestの機能を持つエージェントは見つかりませんでした。実際、選択したビルドキューに構成されたビルドエージェントは実際には見つかりませんでした。」

ビルドエージェントを作成したばかりなので、あなたには当てはまらないと考えていますか?

まあ、多分あなたはやったかもしれませんが、おそらくここで起こったことです:

  • 新しいプールを作成しました(本来すべきだと思った以外の理由はありません)。
  • 次に、そのプールの下にキューを作成しました。
  • PowerShellスクリプトを実行してエージェントを作成し、作成したばかりのプールにそれを置くと仮定しました....
  • しかし、それはしませんでした-あなたが使用していない「デフォルト」プールに入れました...

あぁ!したがって、ビルドすると次のようになります。

  • ドロップダウンからキューを選択します。
  • TFSは、そのキューに対応するプールを探して構築しようとしますが、そこにエージェントAT ALLが見つからないため、愚かな無駄なレッドヘリングエラーメッセージが表示されます。

最終的に何が起こったかに気付いたとき、かわいい名前のプール+キューを削除し、デフォルトのプールを使用するように戻しました。

次回は、PowerShellの構成中にこのメッセージにさらに注意を払おうとします。

このエージェントをどのエージェントプールに対して構成しますか? (デフォルトのプール名は「デフォルト」です)

プールの下にキューを作成する必要がありますが、その後、エージェントが機能し始めます。

エージェントに存在しない特定の機能を備えた本物がある場合は、ここに示す「機能」タブを使用して、エージェントがサポートするものを確認できます。もちろんmsbuild, visualstudio and vstestはすべてここにあります:-)

Enter image description here

25
Simon_Weaver

デフォルトでは、VSOで新しいビルドシステムを使用する場合、ホストされたビルドオプションを選択しません。これが、Stack Overflowでこの投稿にたどり着いた方法です。 VSOビルドサーバーの使用に慣れている場合は、次のことを行う必要があります。

[全般]タブに移動し、デフォルトキューをホストに変更して、ホストビルドを作成します。その制限とその仕組みの詳細はこちら: https://www.visualstudio.com/get-started/build/hosted-agent-pool

7
irhetoric

私の場合、MSBuild( https://www.visualstudio.com/downloads/ 、「Visual Studio 2017のビルドツール」を検索)をインストールした後、MSBuildへのパスを追加するだけでした。 PATH環境変数。エージェントは、それをするまでMSBuildを検出しませんでした。

C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin

Visual Studio IDE全体をインストールする必要はありませんでした。この質問に対して選択された答えは、単に間違っています...

3
computrius

対応するVisual Studioバージョンをビルドマシン(エージェントをインストールした場所)にインストールする必要があります。これにより、必要なツールと機能がサーバーに追加されます。

Visual Studioは、プロジェクトのビルドに必要なすべてのビルドターゲットをインストールするため、必要です。

インストール後に、エージェントのWindowsサービスを再起動して、機能のリストを更新する必要があります。

ビルドマシンでVisual Studioインストールを使用してビルドしているため、そのインストールは追加ライセンスとしてカウントされません。

0
Rodrigo Werlang

XcodeプロジェクトのビルドにXcodeビルドスレーブを使用していました。

そして、私がTFS 2015で終わったエラーメッセージは

「次の機能を持つエージェントは見つかりませんでした:xcode」

OS Xオンプレミスビルドスレーブ を登録しました。

「エージェントの登録」ステップで、ビルドエージェントに名前を付けました。

>> Register Agent:

Enter agent pool (press enter for default) > My-Xcode-Agent-Pool

そのため、ビルド設定で「My-Xcode-Agent-Pool」をデフォルトキューとして選択する必要がありました。ソース:Microsoftがホストするエージェント

0
leviathan

この問題が発生し、リリースプロセスで「間違った」エージェントが選択されたことが判明しました。リリースを編集して正しいエージェントキューを設定するだけです

enter image description here

0
Eric Herlitz

最終的に私のために働いたのは、エージェントをダウンロードして実行した場所に行くことでした:

./config.cmd削除してから./config.cmdして、エージェントのディレクトリ内のコマンドラインからエージェントを再インストールします。

ダウンロードエージェント

0
Jesse

以前の回答はどれもうまくいきませんでしたが、 Simon_Weaver による投稿は正しい方向を示してくれました。

彼はvstestが彼のリストにあると述べたが、それは私のものではなかった。 Visual Studio 2017でvstest.console.exeへのフルパスを持つ「vstest」という名前のユーザー定義機能を追加することで修正しました。

0
Tom Faust