0

DB_AとDB_Bの2つのデータベースプロジェクトがあります。プロジェクトDB_AはDB_Bを参照します。

DB_B.dbschemaをポイントしてデータベース参照を追加しました。

C:\SourceParent\DB Projects\DB_B\sql\debug\DB_B.dbschema

ローカルマシンでプロジェクトDB_Aをビルドすると、正常に動作します。

これをTFSビルドサーバーでビルドしたいのですが、次のエラーが発生します

File D:\Builds\SourceParent\Build_Name\DB_B\sql\debug\DB_B.dbschema does not exist

ビルドサーバーにDB_Bのビルドがありますが、パスが異なります(ビルド定義がプロジェクト名と一致するとは限りません)。

ビルド定義にビルドイベントを追加して、.dbschemaファイルをサーバー上の正しい場所にコピーできると思いますが、これは行いません。(これには、ビルド定義ごとに特別なビルドテンプレートが必要になります。)

TFSビルドポイントを別の場所に向ける方法はありますか?または私がこれを達成できる他の良い方法はありますか?

4

1 に答える 1

0

$(DB_SCHEMAS)私は自分のマシン上のディレクトリを指す環境変数を作成することでこれを解決しました(例C:\dbschemas)。

次に、プロジェクトDB_Bにビルド後のイベントを追加して、DB_B.dbschemaをにコピーしました$(DB_SCHEMAS)

次に、を指すデータベース参照をプロジェクトDB_Aに追加しました$(DB_SCHEMAS)\DB_B.dbschema。Visual Studioは、相対パスを使用してこの参照を追加することに注意してください。$(DB_SCHEMAS)これを修正するために、ソリューションエクスプローラーでプロジェクトをアンロードし、環境変数を使用するようにヒントパスを編集しました。

この環境変数をTFSサーバーに追加したところ、期待どおりに機能します。プロジェクトDB_Bをビルドすると、その.dbschemaファイルが$(DB_SCHEMAS)(どこにでも)コピーされ、プロジェクトDB_Aをビルドするとこのスキームが参照されます。

唯一の欠点は、チームメート全員がこの環境変数を自分のマシンにも追加する必要があることです。そうしないと、ローカルでビルドできません。

于 2012-05-08T22:38:20.590 に答える