web-dev-qa-db-ja.com

C#6 /.NET 4.6アプリケーションをビルドするようにビルドコントローラー/エージェントを更新する

ここにシーンがあります:

ゲートチェックインとリリース後にソリューションをビルドするために、TFS 2013を使用して社内ネットワークでVisual Studio Onlineとオンプレミスビルドサーバーを使用します。

次に、Visual Studio 2013からVisual Studio 2015 Enterpriseにアップグレードし、新しい.NETバージョンにアップグレードしました。私たちはC#6の新機能を積極的に利用したいと思っていましたが、最初のチェックイン後にビルドが失敗したことを経験しました。

(私は評判が足りないので、ここに画像はありません)

例外メッセージ:MSBuildエラー1がこのビルドを終了しました。このエラーの原因に関するより具体的な情報は、上記のメッセージにあります。 (タイプBuildProcessTerminateException)例外スタックトレース:System.Activities.Statements.Throw.Execute(CodeActivityContext context)at System.Activities.CodeActivity.InternalExecute(ActivityInstanceインスタンス、ActivityExecutor executor、BookmarkManager BookmarkManager)at System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem .ExecuteBody(ActivityExecutor executor、BookmarkManager BookmarkManager、Location resultLocation)ApplicationManager.cs(33、0)予期しない文字「$」ApplicationManager.cs(33、0);期待される

ビルドエージェントは新しい構文を理解せず、古いバージョンでコンパイルしているようです。

それを修正するために私がしたことは:

  • オンプレミスビルドサーバーにVisual Studio 2015をインストールします(以前のバージョンのVisual Studio 2013はまだインストールされています)

  • ビルドコントローラーを再起動しました

  • ここの手順に従いました: https://stackoverflow.com/a/28327275/491906

これは基本的にVisual Studio 2015と新しいMicrosoft Build Toolsをインストールしています

  • そして、非常に有望な here のステップ:

テンプレートの1つを使用して新しいビルド定義を作成しました

Visual Studio OnlineのWebアクセスを介して新しいエージェントプールを作成しました。ダウンロード済み

configureAgent.ps1を作成してビルドサーバーで実行し、新しい

エージェント。しかし、新しく作成されたエージェントの使い方を理解できませんでした。

私の質問は次のとおりです:ビルドエージェントを更新して失敗なしで実行するにはどうすればよいですか

新しい.NETバージョンに関して?

18
David Hessling

2013 Buildエージェントをまだ実行していると思いますか?その場合は、ビルドプロセステンプレートを開いて、「プロジェクトのMsbuildを実行する」タスクを調べます。 ToolPath プロパティを、v14 MsBuildがインストールされている場所に設定します。デフォルト:

C:\Program Files (x86)\MSBuild\14.0\Bin

これにより、C#6の構文要素を使用できるようになります。

削除 この投稿の手順 Roslyn nugetパッケージを削除すると、Visual Studio 2015がRTMになったため、NuGetパッケージは不要になりました。同じパッケージはVS2013ではサポートされなくなりました。

ダウンロードした新しいTFS 2015ビルドエージェントはTFS 2013と通信せず、TFS 2015 XAMLビルドエージェントも通信しません。サーバーでTFS 2013を実行している限り、2013までのTFSビルド2010を使用できません。

VSOに接続すると、新しい2015ビルドエージェントを使用できるようになります 。ただし、Webインターフェースを使用して新しいビルド定義を作成する必要があります。新しいビルドエージェントで既存のXAMLビルド定義を使用することはできません。

TFS 2015 XAMLエージェントをインストールすることもできます。これをインストールするには ビルドサーバーにTFS 2015をインストールし、XAMLビルドエージェントを構成する手順のみを実行する 。これにより、TFS 2013ビルドサーバーがマシンから削除されます。

15
jessehouwing

「プロジェクトのMsbuildを実行」が、使用した「TfvcTemplate.12.xaml」でより抽象的な「MSBuildを実行」-アクティビティに置き換えられたため、toolPathプロパティを設定できません。 TFS 2013 Update 4に付属していると思います。

BuildMachineにVS 2015をインストールしました。

そして、/ tv:14.0パラメータをMSBuild引数として追加することでビルドを変更しました(Build-Definition\Process\2.Build\5.Advanced \にあります) MSBuild引数)

これでうまくいきました。 marson からの回答を参照してください

8
gReX