2016-07-20 18 views
0

私たちは、私たちのニーズに合わせてTFSを設定する方法を見つけようとしています。 プロジェクトA、プロジェクトB、フレームワーク、多くのプロジェクトで共有されているプロジェクトです。TFSでプロジェクトを共有

枠組み

プロジェクトA - フレームワーク

プロジェクトB - フレームワーク

Frameworkが変更された場合、我々はそれを使用 すべてのプロジェクトが最後のバージョンを持っていることを確認します。

最初に、Visual Studioで "Add as link" を使用してプロジェクトAとプロジェクトBに追加することで、フレームワークを共有することを考えましたが、これもすべてのブランチを修正します。だから私たちは について、FrameworkをDLLにコンパイルし、このDLLのコピーを各プロジェクトに含めることを考えました。 欠点は、プロジェクトごとにDLLを手動で更新する必要があることです。

TFSでプロジェクトを共有するにはどうすればよいですか?

答えて

1

Visual SourceSafeと同じように、TFSには「共有」はありません。 3つのオプションがあります

  1. 分岐とマージを使用してください。フレームワークをプロジェクトAとプロジェクトBに分けます。フレームワークに変更が加えられた場合、プロジェクトチームはそれらをプロジェクトにマージする必要があります。プロジェクトでFrameworkが変更された場合、他のプロジェクトが変更を使用できるように、Frameworkにマージする必要があります。

  2. ワークスペースマッピングを使用します。基本的にこれは共有の設定です。私がProjectAワークスペースを取得すると、FrameworkのコードがProjectAで参照できるサブディレクトリにも取得されます。すべての変更は、最新のものを取得した時点で、Frameworkおよびすべてのプロジェクトに反映されます。

  3. おそらく最も良い解決策は、ナゲットのようなものを使用することです。フレームワークビルドは、プロジェクトによって消費される最新バージョンをパッケージ化して公開します。あなたは、ビルド時にバージョンを固執するか最新のものを取り出すかを選ぶことができます。

TFVC Gems - オプション3

について協議 - 最初の2つのオプション

Dependency Management with NuGet.pdfをカバーする必要があります

0

私は、.NETのセットアップについて話していると仮定しています。そうでなければ、これは関係ないかもしれません。

プロジェクト(コンパイル済みDLLではなく)のフレームワークへの参照がある場合は、プロジェクトを再コンパイルするたびに、最新バージョンのFrameworkを取得することになります(明らかに、これはあなたの分岐構造)。

もう1つの考慮すべき点は、上記がうまくいかない場合は、ビルドを使用して依存関係を最初に再コンパイルすることです。

関連する問題