2012-04-24 17 views
5

Nuget(RestSharp、Twilioなど)を使用してVS 2010ソリューションにライブラリを追加しました。同じソリューションをTFSから新しいPCにプルしてビルドしようとすると、それらのアセンブリへのすべての参照が壊れてしまいます(エラー "名前空間が見つかりません...")。このVSソリューションで初めて作業する各開発者は、自分のPCに同じNugetパッケージを独立してインストールする必要がありますか? ありがとう、 ジム同じVSプロジェクトで作業するすべての開発者がNugetパッケージを追加する必要がありますか?

答えて

2

いいえ、Visual Studioがそれらを見つけるためにアセンブリがすべて同じ相対パスに含まれていることを確認する必要があります。ソリューションのナゲットパッケージディレクトリを含めることができます。これはプロジェクトによって参照されるライブラリのコピーを格納する場所です。

なお、上記のディレクトリを含むことは、「パッケージのインストール」と同じ効果があります。 NuGetがパッケージの管理に使用するすべてのファイルを含めると、NuGetはインストールした場合と同じように動作します。しかし、NuGetを使って実際のパッケージをインストールする必要はありません。また、最初にVisual StudioにNuGetをインストールすることもできます。これは、Visual Studioプロジェクトファイルが期待する場所にある適切なファイルの問題です。

5

Andrewはすでに、パッケージの場所についてすべて言っています。

すべてのパッケージでパッケージフォルダ全体をチェックインするか、最初にチェックアウトした後にパッケージをインストールする必要があります。しかし、これを行うより良い方法があります。すなわち、use NuGet Package Restoreにあります。これはプロジェクトのビルド時にすべての不足しているパッケージを自動的にインストールします。

パッケージの復元を使用する場合は、repositories.configをVCSにチェックインするだけで済みます。 TFSでは、repositories.configを除いてcloak the entire packages folderを使うことができるので、TFSは新しいパッケージの保留中のチェックインを気にしません。

TFS + NuGetの使用方法については、this answerも参照してください。

+0

これは良い答えです。特に使用したことのないTFSに関する追加情報を考えてみてください。 –

関連する問題