1

〜100のプロジェクトを含むソリューションをコンパイルするTFS2010ビルドワークフローがあります。コンパイルは成功し、テストは期待どおりに実行されます。私が抱えている問題は、bin 出力フォルダーのリダイレクトに関連しています。

私が理解しているように、MSBuild の TFS2010 ビルド アクティビティは、以下に示すように、bin フォルダーの出力を Sources および TestResults フォルダーと同じレベルの binaries フォルダーにリダイレクトします。

C:\Builds\1\MyPlatform\MyPlatform メイン - CI\Binaries

C:\Builds\1\MyPlatform\MyPlatform メイン - CI\Sources

C:\Builds\1\MyPlatform\MyPlatform メイン - CI\TestResults

この bin フォルダーのリダイレクトは、私のプロジェクトの 80% で期待どおりに機能します。残りのプロジェクトの bin フォルダーは、ローカル マシンで VS を使用してコンパイルしているかのように、リダイレクトされずに標準の場所に表示されます。

説明すると、期待どおりに動作する場合...

ソースパス:-

C:\Builds\1\MyPlatform\MyPlatform メイン - CI\Sources\Source\MyPlatform.Modules.Interaction.Specs

ビンの出力が正常にバイナリ フォルダーにリダイレクトされました:-

C:\Builds\1\MyPlatform\MyPlatform メイン - CI\Binaries\Mixed Platforms\Debug\MyPlatform.Modules.Interaction.Specs

そして今、リダイレクトされていない例...

ソース パス:-

C:\Builds\1\MyPlatform\MyPlatform メイン - CI\Sources\Source\MyPlatform.AddIns.Framework.Services

ビン出力はリダイレクトされず、ソース フォルダーに残ります:-

C:\Builds\1\MyPlatform\MyPlatform メイン - CI\Sources\Source\MyPlatform.AddIns.Framework.Services\bin\Debug

明確にするために、これはドロップ場所の問題ではなく、中間の Binaries フォルダーへのビン出力のリダイレクトの問題です。私の最終的なドロップ場所へのコピーは期待どおりに機能しますが、ビンの出力が最初にバイナリフォルダーにリダイレクトされなかったプロジェクトを除いてすべてです。

私は周りをよく見ましたが、見たすべての情報は、バイナリフォルダーへの出力をカスタマイズすることを示しているか、ドロップ場所に関連しています。これを読んでも、一部のプロジェクトがデフォルトのリダイレクトを無視する原因となるものは見当たらない。

私のプロジェクトのほとんどは標準の .NET 4 クラス ライブラリですが、いくつかの C++ プロジェクトと WIX インストーラーがあります。最初はこの違いに関連していると思いましたが、この問題は、正常にリダイレクトされる他のすべてのプロジェクトと同じ設定を持ついくつかの .NET 4 クラス ライブラリで発生しています。

上記のパスの例についてもう 1 つポイントがあります。実際のプロジェクトのプレフィックスを「My」に置き換えましたが、それ以外のパスはそのまま使用されます。

一部のプロジェクトのビン出力がリダイレクトされない理由を知っている人はいますか?

あなたが提供できる助けをいただければ幸いです。

ありがとうH

4

1 に答える 1

2

継続的な調査とMSDNのDharmeshShahからの正しい方向への突き出しにより、これはすべて「TeamBuildOutDir」設定に関連していることが明らかになりました。詳細については、http://blogs.msdn.com/b/jimlamb/archive/2010/04/13/customizableoutdir-in-tfs-2010.aspxを参照してください。

于 2012-09-26T09:06:50.753 に答える