2016-08-15 12 views
1

TFSビルドサーバーからdevenv.exeを使用する方法を理解する上で問題があります。TFS 15RC1ビルドサーバーでdevenv.exeを使用してプロジェクトをビルドする

devenvを使用するデフォルトの手順はないので、PowerShell sriptを使用してdevenv.exeでパラメータを実行しようとしました。ビルドプロセスにエラーはありませんが、ビルド結果ファイルは更新されません。 エージェントマシン上でスクリプトを手動で実行すると、ビルドは成功します。これは私のスクリプトです:

$process = [System.Diagnostics.Process]::Start("C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe", "/Rebuild ""MyConfig"" ""C:\agent\agent\_work\1\s\MyProject.sln"" /Project ""C:\agent\agent\_work\1\s\MyProject\MyProject.dwproj""") 
$process.WaitForExit() 

ここからわかるように、ソースパスには変数を使用しませんが、スクリプトが機能する場合は使用します。

また、エラーのあるログは見つかりませんでした。たぶん私はそれらを見つける場所を知らない?

ので、

  1. 私はPowerShellスクリプトで何が悪いのでしょうか?
  2. TFSビルドサーバーでdevenv.exeを使用してプロジェクトをビルドするベストプラクティスは何ですか?

PS私たちはTFS 15 RC1(バージョン15.103.25603.0)を使用しています。

+0

余分なバッククォートを参照してくださいfolowing追加した場合? –

+0

@ just.ru SSASプロジェクト(.dwproj)をビルドする必要があります。 MSBuildはそれを行うことはできません。 = – Nick

+0

古いXAMLビルドまたは新しいvNextビルド –

答えて

0

エージェントがサービスとして実行されている場合にのみ動作することがわかりました。対話モードでエージェントを起動すると、タスクが正しく機能するようになりました。どうして? - 知りません。

0

今のところ、vNextビルドタスクでdevenv.exeを直接使用するためのこのビルドイン機能はありません。しかし、近い将来に来るだろうと思われる。

私たちが今取り組んでいるものではありませんが、それは我々がために、プルリクエストを取ると何か であること。

chrisrpattersonたちは 使用devenvを(デフォルトはfalse)を言い、既存のVisual Studioのビルドタスクの入力をしたい1月8日

についてコメントしました。 trueの場合、バリアントパス が上記と同様の実行コードをとります。あなたはpull requestjmacnettでこれを提供使用しようとすることができ

bryanmacfarlaneは1月22日にgithubのから

ソースのコメントカスタマイズ・ビルド・タスクを作成します。

+0

回答ありがとう Ok、直接devenvはサポートされていませんが、 PowerShellタスクとバッチタスクを使用してdevenv.exeを実行してください。私が見る限り、devenvが起動して何かをしていますが、binフォルダのファイルは更新されません... – Nick

+0

コピータスクターゲットDLLファイルを探すときに/ binフォルダ?手動で問題を回避するには何か問題がありますか? –

0
$argumentList = ("`"$solnPath`" /$solnCmdSwitch $solnConfigName") 

プロジェクトは、その後

$argumentList += (" /project `"$projPath`" /projectconfig $projConfigName") 

は、なぜあなたは代わりのMSBuildのdevenvを使用しない

関連する問題