2017-03-14 120 views
1

Visual Studio 2015とオンプレミスTFS 2013サーバーを使用して、従来のVB.Net ASP.Netフォームアプリケーションの継続的インテグレーションプロセスを設定しようとしています。しかし、私は正常に私のアプリケーションを構築するためにビルド定義を取得することに失敗しています。MSBuild Vs Visual Studio - コンパイルの違いは?

XAMLビルド定義はすべてのTFSチェックインでうまく起動しますが、これまでアプリケーションのビルドに失敗しました。これは、プロパティ関連のエラーが'Extended Properties cannot be initialized'のコンポーネントプロジェクトをコンパイルするためです。

プロジェクトのすべては、Visual Studio内喜んでコンパイルしたので、私はこれらのエラーが原因vbc.exeコンパイラのバージョン、またはMSBuildのが使用しているコンパイラオプションに実際に推測していますか?

私は、プロジェクトで使用されているのと同じコンパイラ設定をMSBuild引数に渡そうとしましたが(下記参照)、成功しませんでした。

/p:OptionStrict=false /p:OptionInfer=false /p:OptionExplicit=true /p:OptionCompare=binary 

メインアプリケーションプロジェクトは、プロジェクトファイルで指定された以下のToolsVersionを、持っていますが、Visual Studioは、実際にMSBuildのではない以降のバージョン(14または15?)を使用しただろうか?

<Project DefaultTargets="Build" ToolsVersion="12.0" 

このプロジェクトは、Visual Studioで完全に構築するだろうが、ビルド定義で非常に高く評価されるだろうない理由の任意の提案。

+0

ビルドエージェントにはどのバージョンのVisual Studioがインストールされていますか? –

+0

ビルドエージェントはビルド定義の権利を含むTFSサーバーですか?もしそうなら、それはそこにインストールされていませんが、C:\ Program 'Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v12.0' 。コンパイラはすでにC:¥Program Files(x86)¥MSBuild¥12.0¥Bin'にあります – Ted

+2

VS2015はMSBuild 14を使用しています。https://www.microsoft.com/en-us/download/details.aspx?id= 48159とhttps://chocolatey.org/packages/microsoft-build-toolsエージェントマシンでそれを持っていますか? –

答えて

2

私がコメントしたように、難しい部分は適切なMSBuildツーリングバージョンを決定し、それを正しい方法で使用することです。

まず、Visual StudioリリースのMSBuildのバージョン番号を覚えるのは難しいでしょう。あなたは、Googleのを使用して、以下、単にいくつかの参考のためであることができ

  • のVisual Studio 2015 - MSBuildの14
  • のVisual Studio 2017 - MSBuildの15

彼らは、ビルドを実行し、マシン上に存在していることを確認します。

第2に、ツールバージョン(per this article)を無効にする必要があります。

+0

ありがとう、Lex。私はMSBuildの定義をはじめて設定していますが、VS2015 SDK/VS 2015自体がビルドエージェントにインストールされていないために発生した別の問題にぶつかりました。 TFS、Build Controller、Build Agentsを(私がやりたいと思っていたのと同じ)サーバー上に構築しました。何か他のものをインストールする前にもう少し読むことをする時間.... – Ted

関連する問題