2

$(OutDir) = \bin\Release (in local with VS2012)

$(OutDir) = C:\\...\BuildDefinition\Binaries (on TFS2010 Team Build)

ビルド前のイベントで、2 つのケースで機能する XCOPY を作成するにはどうすればよいですか?

私の project2 では、project1 を参照しています。だから私はこれを行う必要があります:

ローカルで:

XCOPY /Y $(SolutionDir)Project1\$(OutDir)Project1.dll"

"$(SolutionDir)MyProject2\Objects\Assemblies"

チームビルドについて

XCOPY /Y "$(OutDir)Project1.dll" "$(SolutionDir)Project2\Objects\Assemblies"

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

4

2 に答える 2

6

便利なビルド イベント チェックを次に示します。

if "$(BuildingInsideVisualStudio)" == "" 

これにより、TeamBuild(msbuild) で実行するときではなく、Visual Studio で実行するときのビルド イベントを定義できます。

于 2013-03-28T11:46:03.720 に答える
2

ベスト プラクティスとして、必要な DLL 参照のビルド前ターゲットで TFS ビルドまたは Visual Studio から XCOPY を呼び出さないでください。

プロジェクト 2 でプロジェクト 1 へのプロジェクト参照を作成します。これにより、最新のコードがコンパイルされ、正しく参照されるようになります。

TFS は自動的に dll の移動を処理します。Visual Studio はそれを見つける方法も自動的に認識し、参照をローカルにコピーするように設定すると、両方の dll を出力フォルダーに移動します。

コンパイルしていないサード パーティの dll がある場合のベスト プラクティスは、lib\ または dependencies\ という名前のフォルダーを作成し、その場所から dll を参照することです。

お役に立てれば。

于 2013-03-28T13:25:05.773 に答える