14
一部のプロジェクトが複数のソリューションに含まれている場合に、すべてのソリューションに共通のnugetパッケージフォルダーを設定する
私はNuGetを使用して、外部および内部のパッケージソースからパッケージを取得しています。これは非常に便利です。しかし、パッケージはデフォルトでソリューションごとに保存されることに気づきました。これは、NuGet参照を持ついくつかのプロジェクトがいくつかのソリューションに含まれている場合、非常にイライラします。次に、参照が他のソリューションパッケージフォルダーに変更されます。このフォルダーは、実際には別の開発者やビルドマシンでは使用できない場合があります。 NuGetのリリース2.1では、一般的なパッケージの場所(おそらくプロジェクトのルートレベルで、TFSソース管理を使用している)を指摘する方法があることを確認しました。リリースノートを参照してください。NuGet v2.7を使用しています しかし、私はこれの影響を見ずにnuget.configファイルを追加しようとしました。パッケージは引き続きソリューションフォルダーに保存されます。私が見逃したものはありますか?誰がその質問に答えているかに応じて、nuget.configファイルに追加するXMLノードの構造が異なるようです:Schwarzieは別のStackoverflowスレッドで提案しています: <settings> <repositoryPath>..\..\[relative or absolute path]</repositoryPath> </settings> NuGet 2.1のリリースノート(上記のリンクを参照)は、この形式を提案しています。 <configuration> <config> <add key="repositoryPath" value="..\..\[relative or absolute path]" /> </config> </configuration> これらのどちらか、またはどちらか、または両方が最終的に機能するかわかりません。私はソリューションレベルで両方を試しました。nuget.configファイルはTFSプロジェクトのルートレベルに配置できますか、それともソリューションディレクトリに配置する必要がありますか?NuGetはこれらのファイルから特定の順序で設定を読み取って適用しているようですが、ソリューションレベルのnuget.configファイルがTFSプロジェクトのルートレベルのファイルを上書きするため、これらのファイルをいくつかのレベルで追加するのが理にかなっています。これを明確にできますか? これらの参照が機能する前に、インストールされているすべてのパッケージを削除する必要がありますか?ソリューション固有のnugetの使用法から、いくつかのソリューションに属するプロジェクトが必要なnugetパッケージを見つけることができる共通のパッケージフォルダーに移動するためのステップバイステップの指示を誰かが提供できたら嬉しいです。