2017-03-22 20 views
1

私はTFSとVisual Studio 2013でいくつかのC#.Netアプリケーションを使用しています。私は比較的新しいTFSです。他の誰かが同じ問題を抱えていると思います。これらはすべて共通の共有dll(System.Web.MVC.dll)と、社内で構築した共通ライブラリ(つまり、our_common_lib.dll)を持っています。もちろん、これらの一般的なDLLのバージョンをTFSに1つだけ保存して、すべてのプロジェクトをこれらの一般的なDLLに参照/リンクすることで、新しいプロジェクトを分岐したり作成したりするときに自動的にこれらの共有DLLを取得します。以前の人生では、私はClearCase(はい、それは古い)でこれを行いました。私たちはTFSでこれをどのようにすることができますか? (これが詐欺である場合は、私に指摘してください)TFS:複数のプロジェクトで1つのDLLを共有する

答えて

2

配布方法はいくつかあります。たぶんあなたは、各クライアントのGACにバイナリをインストール/登録することができます。

バイナリを共有場所のソース管理に保存する別の方法があります(頻繁な更新が必要な場合)。すべてのプロジェクトは共有場所からファイルを使用します。

また、Nugetパッケージを使用することもできます。それらの一般的なDLLをNugetパッケージにパッケージします。 TFS 2015とそれ以前のバージョンを使用している場合は、このパッケージをFeed on TFSパッケージサイトにアップロードすることができます。次に、各クライアントのNuget.configファイルにこのフィード設定を追加します。その後、TFS上のフィードからこれらのパッケージをインストールすることができます。あなたはを参照してください可能性がhttps://www.visualstudio.com/en-us/docs/package/build/team-build-nuget

同様の問題:jcnewman83 @

TFS 2010 Branch Across Team Projects - Best Practices

Shared Libraries branched across team projects - Best Practices

+0

@Tingting ...フィードバックに感謝します。私はオプションをチェックアウトします。 – MikeTWebb

+0

@MikeTWebb更新はありますか? –

+0

@歌いながら...。私たちはNuGetパッケージアプローチを採用しました。 our_common_lib.dllをナゲットパッケージにパッケージ化し、VS Solutionsにフィードを追加しました。完璧! – MikeTWebb

0

our_common_lib.dllがプロジェクトの場合は、このプロジェクトをあなたのソリューションに追加して、それを参照することができます。このようにして、あなたの主なソリューションで構築され、出力に組み込まれます。

これが当てはまらない場合、過去にこれを行った方法は、問題のdllを含むTFS内のフォルダを持つことです。次に、参照の追加画面で参照を使用してプロジェクト内の参照として選択することができます。

system.web dllは、.NET dllであるため、チェックインされたDLLとしてTFSに含める必要はありません。また、アセンブリの下にある参照の追加画面やNUGETでも利用できるはずです。

希望すると便利です。

+0

...応答をありがとうより詳細な情報については、を参照することができます。ただし、our_common_lib.dllを参照する複数のプロジェクトがあります。そのプロジェクトを各ソリューションに追加するのは面倒です。 – MikeTWebb

関連する問題