1

次のディレクトリがあります。構造体

$/
 TeamProj1/
     Solution1/
         <Solution and files etc>
  TeamProj2/
     Libs/
       LibSolution1/
         <solution and files etc>
     External/
      ThirdParty.dll

Solution1 には LibSolution1 へのプロジェクト参照があり、ThirdParty.dll へのアセンブリ参照があります。

ファイル - >ソース管理から開くを介してSolution1を新たにチェックアウトすると、TFSはLibSolution1ファイルを正しくチェックアウトしますが、サードパーティのdllはチェックアウトしません。サードパーティの dll を手動でチェックアウトすると、すべてがビルドされます。

TFS に正しいサード パーティの dll ファイルを強制的にチェックアウトさせるにはどうすればよいですか? 考えられる方法は 2 つありますが、どちらも特に好きではありません。1) libs フォルダーを Solution1 に追加し、そこに dll を追加することができます。次に、solution1 がチェックアウトされると、dll がチェックアウトされます。ただし、Solution1 以外にもサード パーティのアセンブリを使用するソリューションがあり、ファイルのコピーを 1 つだけ保持したいので、この方法は好きではありません。

2) 「ダミー」のサードパーティ プロジェクト/ソリューションを作成し、そのソリューションにファイルを追加してから、ダミー プロジェクトを solution1 ソリューションに追加することができます。次に、solution1 をチェックアウトすると、ダミー プロジェクトが表示され、関連するすべてのファイル (サード パーティの dll) と共にチェックアウトされますが、それは不必要に複雑に思えます。

必要なファイルを単にチェックアウトするように TFS に指示する方法はありませんか?

4

1 に答える 1

2

ここでのこのソリューションは、オプション 1 のバリエーションですが、DLL の複数のコピーを維持する必要はありません。

新しいフォルダーを Solution1 (Third_Party_DLL など) に追加します。フォルダーを右クリック -> 既存の項目を追加し、DLL をここに物理的に追加する代わりに (保存した場所からこれらのサード パーティの DLL へのリンクを作成します)。フォルダーに DLL リンクを追加したら、このフォルダー (Third_party_Dll) からプロジェクトの DLL への参照を追加します。

最新のソリューション ファイルを取得すると、DLL も取得する必要があります。私はDllのためにこれを自分で試したことはありませんが、AssemblyVersionファイルの単一のコピーを維持するためにこれを行ったところ、うまくいきました。試してみて、私に知らせてください。

追加とリンクの追加

于 2013-08-27T14:14:09.630 に答える