2016-09-21 6 views
2

私は現在、UWPプロジェクトを構築しようとしているTFSBuild 2013サーバーを持っていますが、正しいMSBuildバージョンを使用できないようです。TFSBuild 2013 msbuildバージョンを変更できません

症状:

UWPプロジェクトを構築する、我々はこのようなエラーの多くを得る: C:\プログラムファイル(x86の)\ MSBuildの\マイクロソフト\ VisualStudioを\ v14.0 \ AppxPackage \ Microsoft.AppXPackage。ターゲット(283): "$(TargetPlatformVersion) '> = '10 .0.11000.0'"の数値の代わりに "10.0.11000.0"と評価される "10.0.11000.0"の数値比較が試行されました。

多くのレポートには、TFSビルドが正しいバージョンのMSBuildを使用していることを確認するための警告がたくさんあります。そしてここに問題がある。ビルドサーバーに正しいバージョンを使用させることはできません。ここで

は、我々は(TfvcTemplate.12.xamlテンプレートを使用している定義を構築する)しようとしたものです:

  • は、ビルドサーバー上でVS2015をインストールするビルドサーバー
  • に2015ビルドツール(更新3)のインストール(Yuck)
  • ビルド定義のMSBuildパラメータのさまざまな組み合わせ。
  • がTfvcTemplate.12.xamlテンプレートを編集し、「へ "ToolsVersion" を設定するには、 "ファイル名を指定して実行MSBuildの" ステップを設定するパッケージnuget Microsoft.Net.Compilersの(/tv:14.0 & /p:VisualStudioVersion=14.0)
  • インクルージョン14.0 "となる。 (このバージョンのテンプレートには「ToolsPath」の設定がないので、それはできません)。
  • ToolsVersionは=すべての.csprojファイル内の「14.0」

どんなに私たちが変更何、我々はMSBuildのの14.0バージョンを使用するビルドエージェントを取得することはできません設定します。

奇妙なことに、ナゲットはパッケージの復元を行うときに正しいバージョンを見つけたようです。ログには、nuget.exe restoreコマンドを実行するときに表示されます。MSBuild自動検出: 'C:¥Program Files(x86)¥MSBuild¥14.0¥bin'からmsbuildバージョン'14 .0 'を使用します。

さらに、すべてのエラーが発生する場所では、次のように表示されます(注:間違ったツールバージョンです)。 C:¥Program Files(x86)¥MSBuild¥12.0¥bin¥MSBuild.exe/nologo/noconsolelogger 「C:\ビルド...」[SNIP]

任意のヘルプまたは感謝して受け取った提案 - 私は私の知恵の終わりだよ:)

+0

ビルドエージェントマシンにMSBuildコマンドラインを使用してプロジェクトを手動でビルドすることはできますか? MSBuild引数/ pを指定していますか:AppxBundlePlatforms = "$(BuildPlatform)"/p:AppxPackageDir = "$(Build.BinariesDirectory)\ AppxPackages \\"/p:AppxBundle =常にビルド定義にありますか? –

+0

はい、サーバー上でVS2015を使用してソリューションを構築すると正常に動作します。 – MercifulGiraffe

+0

MSBuildの14バージョンを常に使用するようにTFSBuildを強制することができれば幸いです。デフォルトで何とかそれを強制することができますか? – MercifulGiraffe

答えて

1

私は最終的に、これは設定で動作させるためにしようとあきらめたが、管理レジストリをハッキングしてビルドマシンでこれを動作させるには

C:\Program Files (x86)\MSBuild\12.0\bin\ 

へ:

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

免責事項私はから値

を変更し、両方のケースで

HKLM\SOFTWARE\Wow6432Node\Microsoft\MSBuild\12.0\MSBuildOverrideTasksPath 
HKLM\SOFTWARE\Wow6432Node\Microsoft\MSBuild\ToolsVersions\12.0\MSBuildToolsPath 

は、私は、次のレジストリキーを変更しました:私は他の何がわからないこれには影響しますが、正しいMSBuildバージョンを使用してビルドされており、スコープがビルドサーバーに限定されています。

関連する問題