Nuget (RestSharp、Twilio など) を使用して、VS 2010 ソリューションにいくつかのライブラリを追加しました。同じソリューションを TFS から新しい PC にプルしてビルドしようとすると、それらのアセンブリへのすべての参照が壊れます (「名前空間が見つかりません...」というエラーが表示されます)。この VS ソリューションに初めて取り組む各開発者は、同じ Nuget パッケージを自分の PC に個別にインストールする必要がありますか? ありがとう、ジム
2 に答える
Andrew がすでに言っているように、パッケージの場所がすべてです。
すべてのパッケージを含むパッケージ フォルダー全体をチェックインするか、最初のチェックアウト後に各開発者がパッケージをインストールする必要があります。ただし、これを行うためのより良い方法があります。つまり、NuGet Package Restore を使用することです。これにより、プロジェクトのビルド時に不足しているすべてのパッケージが自動的にインストールされます。
パッケージの復元を使用する場合、repositories.config を VCS にチェックインするだけで済みます。TFS を使用すると、repositories.config を除くパッケージ フォルダー全体をクロークできるため、TFS は新しいパッケージの保留中のチェックインに煩わされません。
TFS + NuGet の使用方法に関するガイダンスについては、この回答も参照してください。
いいえ、ただし、Visual Studio がそれらを見つけられるように、アセンブリがすべて同じ相対パスに含まれていることを確認する必要があります。ソリューションのナゲットパッケージディレクトリを含めることができます。これは、プロジェクトによって参照されるライブラリのコピーが保存されていると思います。
ちなみに、上記のディレクトリを含めることは、「パッケージをインストールする」ことと実質的に同じ場合があります。NuGet がパッケージの管理に使用するすべてのファイルを含めると、NuGet はそれらをインストールした場合と同じように動作します。ただし、NuGet を使用して実際にパッケージをインストールする必要はありません。また、最初に Visual Studio に NuGet をインストールする必要さえありません。それは、Visual Studio プロジェクト ファイルが期待する場所に適切なファイルがあるかどうかだけの問題です。