redwarrior’s diary

C#, ASP.NET, WEB, G*などの雑多な情報

TFS 2015で.NET Framework 4.6.1のプロジェクトをビルドする

新プロジェクトが開発に入るにあたって、どうせならばTFSでビルド出来るようにして、ゆくゆくはプルリクエストがマージされたらテスト環境にデプロイされるようにしたい。

またVisual Studio 2015で開発するのだから、.NET Frameworkも4.6.1を使い、作成するのはWebアプリなのでASP.NET MVC 5で作ることになった。

早速、テンプレートを選択して新規プロジェクトを作成した。

実際に開発を始める前にビルド環境を整えた方が問題の切り分けも楽なので、ローカルでビルドと実行に問題ないことを確認後、バージョン管理に登録しTFS上でのビルドを試した。

特に設定を変更せずにXAMLビルドを新規作成して実行すると動かない。それで色々と調べたり設定を追加して、ようやく動くようになったのでやったことを記録しておく。

前提

クライアント環境
サーバー環境

(?は、TFSのインストールには関わっていないため)

注意事項

(試してないが)Visual Studio 2015をTFSが起動しているサーバーにインストールするのであれば、以下の手順は不要になると思われる。

またTFSの初期設定などは完了していて、.NET Framework 4.5のプロジェクトではビルドが通っている状態とする。

作業内容

やった作業を整理すると以下のようになった。

.NET Framework 4.6.1 Developer Pack のTFSへのインストール

ネット上では.NET 4.6.1 Targeting Pack が必要という情報が見つかるが、上記に含まれている。

Download Windows 7 SP1、Windows 8、Windows 8.1、Windows 10、Windows Server 2008 R2 SP1、Windows Server 2012、Windows Server 2012 R2 用 Microsoft .NET Framework 4.6.1 Developer Pack および Language Pack from Official Microsoft Download Center

Microsoft Build Tools 2015 のTFSへのインストール

Visual Studio 2015で使用されているバージョンのMSBuildが単体パッケージとして独立したもの。

Download Microsoft Build Tools 2015 from Official Microsoft Download Center

ビルド定義の編集で、「プロセス→ビルドプロセスパラメータ→詳細設定」で、MSBuild 引数に /tv:14.0 を設定

上記でインストールしたMSBuildをTFSに使用させるためのオプションのようだ。

必要なファイルのコピー

ASP.NET MVC のビルドをしたい場合は、以下が必要。

  • ローカルPCの C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\WebApplications フォルダを TFS の同じフォルダにコピーする。

Web Deployをしたい場合は、以下が必要。

  • ローカルPCの C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web フォルダを TFS の同じフォルダにコピーする。

その他

ちなみに上記を行っていない場合は.NET 4.5.2のプロジェクトのビルドは失敗し、.NET 4.5.1のプロジェクトのビルドは成功する。これはWindows Server 2012 R2にデフォルトで含まれているのが、.NET 4.5.1だからのようだ。詳しくは以下。

.NET Framework のバージョンおよび依存関係 | Microsoft Docs

TFSをインストールしただけで、ビルドやテスト実行が出来ると思い込んでいたので気をつける。