2011-11-15 1 views
0

/p:OutDirを使用すると、MSBuildで不足しているファイルをスキップすることはありますか?MSbuildメイク/プロパティ:OutDir欠落しているファイルをスキップ

TeamCityと協力して、大規模なWebプロジェクトを継続的に構築しています。継続的な展開を処理するプログラムを作成しましたが、私はMSbuildの問題にぶち当たっています。私は必要なWebファイルを出力するためにプロパティスイッチOutDirを使用しています。不足しているファイルがあるので

msbuild project.sln /property:Configuration=Release /property:OutDir=R:\BuildOutput\ 

MSBuildのはOutDirで失敗している:

は、ここに私のMSBuildコマンドです。例:

error MSB3021: Unable to copy file "Api\Js\excanvas.min.js" to "R:\BuildOutput\_PublishedWebsites\Web\Api\Js\excanvas.min.js". Could not find file 'Api\Js\excanvas.min.js'. 

不足しているファイルがたくさんある非常に大きく古いプロジェクトです。これらのファイルをスキップしたり、これらのエラーを無視するようにMSBuildを取得するには、いくらかの方法がありますか?

ありがとうございました、ありがとうございます。

不足しているファイルを追加するのは簡単な修正ですが、この問題が発生するたびに不足しているファイルをすべて追加したくありません。

答えて

4

ここでの問題は、あなたのcsprojが

/p:OutDirだけで、すでに起こっている何かの場所を変更する存在しないファイルに明示的または暗黙的に指していることです。

不運な答えは...それを修正して、メッセンジャーを責めないでください。

EDIT:彼らは奇妙なことは、プロジェクトがVisual Studioでコンパイルされたとき、それは文句を言わないことで処理

+0

の間に計算されているようBTW MSBuildの呼び出し引数に/v:diagを追加すると、あなたのアイテムリストの完全なダンプを与えますファイルが欠落している - または少なくともプロジェクトをコンパイルすることはできません。私は、Visual StudioがMsBuildを使用していることを理解しているので、ファイルが見つからないことを心配しないでください。 –

+0

@RobinWinslow '$(BuildingInsidevisualStudio)' == 'true'のときに、スタブアウトまたは最適化されるビルドのさまざまな側面があります。 1つの鍵となるのは 'MvcBuildviews'です。しかし実際の答えは、MSBuildのスクリプトがすべてダウンしているときに、diagsをオンにして、いつ誰が何をしているのかを知ることができるということです。次に、そのビットが入札を行うためにどのように影響を受けるかを確認します。そして、MSBuildの中で購入してください - 誰もそれを後悔しません! –

+0

このような古い質問への迅速な対応。ありがとう。私は何も買わないだろう。マイクロソフトのスタック開発者からの回答がソフトウェアや書籍を買うことが多いため、私は本当に嫌いです。ソフトウェアを買うことなく、VSが構築するために使っているプロパティを調べることができる方法はありますか? –

関連する問題