概要
NuGetの初期設定のまま使用すると、
C:\Users\[ユーザ名]\.nuget\packages
に保存される。自分のPCはCドライブの容量が少なくなったため、パッケージの保存場所を変更したく変更方法を調査。
設定方法
設定概要
次のサイトに従い設定。
https://docs.microsoft.com/ja-jp/nuget/consume-packages/configuring-nuget-behavior
自分は個人でしかPCを使用しないため、個人設定をコマンドから変更。
設定詳細
-
NuGetコマンドラインのインストール
https://www.nuget.org/downloads
からNuget をダウンロード
自分はD:\bin\nuget
に保存。 -
コマンドから設定ファイルを変更
nuget config -set repositoryPath=D:\NuGetPackages
%appdata%\NuGet\NuGet.Config
に次の設定が追加されていることを確認
<config>
<add key="repositoryPath" value="D:\NuGetPackages" />
</config>
- 動作確認
適当なプロジェクトからNuGetパッケージをダウンロード。D:\NuGetPackages
にパッケージがダウンロードされていることを確認。
4.うまくいかない事象(2018/6/30追記)
後日、別プロジェクトのビルド中に次のようなエラーが発生
DeleteTemporaryAudioData.csproj(180,5): error : This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is ..\packages\Microsoft.Web.WebJobs.Publish.2.0.0\build\Microsoft.Web.WebJobs.Publish.targets.
プロジェクトファイル(.csproj)を確認すると、同ファイル内に次の記述があった。
<Error Condition="!Exists('..\packages\Microsoft.Web.WebJobs.Publish.2.0.0\build\Microsoft.Web.WebJobs.Publish.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Web.WebJobs.Publish.2.0.0\build\Microsoft.Web.WebJobs.Publish.targets'))" />
<Error Condition="!Exists('..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets'))" />
<Error Condition="!Exists('D:\NuGetPackages\Microsoft.Web.WebJobs.Publish.2.0.0\build\Microsoft.Web.WebJobs.Publish.targets')" Text="$([System.String]::Format('$(ErrorText)', 'D:\NuGetPackages\Microsoft.Web.WebJobs.Publish.2.0.0\build\Microsoft.Web.WebJobs.Publish.targets'))" />
初期値をいじったことによる影響か、認識がうまくいかずエラーとなりビルドに失敗する。
../packagesに指定のnugetパッケージをコピーすることで、エラーは回避できるが何とも腑に落ちない結果となった。
以上