プロジェクトのルートフォルダーにnuget.configファイルを配置しました。このファイルは、すべてのソリューションですべてのNuGetパッケージを配置する場所を指定しています。
ファイルは次のとおりです。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<config>
<add key="repositoryPath" value="D:\Projects\Development\NuGet Packages" />
</config>
</configuration>
また、すべてのソリューションでNuGetパッケージの復元を有効にしました。
これを最初に設定したとき、nuget.configファイルは無視されていました。すべてのNuGetパッケージは、ソリューションフォルダーの「packages」フォルダーに配置されていました。このフォルダーを何度も削除しようとしましたが、常にNuGetで再作成され、パッケージで埋められていました。
多くの試行錯誤の末、<PackagesDir>
「NuGet.targets」の要素に出くわし、コメントアウトすると、最終的にパッケージをプロジェクトルートの正しいフォルダーに配置できることに気付きました。
これがNuGet.targetsからの関連行です
<PackagesDir>$([System.IO.Path]::Combine($(SolutionDir), "packages"))</PackagesDir>
私の質問は、NuGet.targetsファイルのPackagesDir
要素をコメントアウトすることが、nuget.configファイルを追跡するための意図された方法なのか、それとももっと明白な解決策がないのかということです。