.net 能否更改NuGet 3.2包缓存位置

.net 能否更改NuGet 3.2包缓存位置,.net,nuget,nuget-package-restore,.net,Nuget,Nuget Package Restore,我有一台C:\驱动器空间有限的机器,但我有一个很大的D:\驱动器,有足够的空间。是否可以更改nuget软件包缓存的位置(我使用的是nuget 3.x) 设置一个环境变量NuGetCachePath,该变量的值为需要新包缓存的路径 更新:这个答案来自2016年,不再适用于更现代的NuGet版本。如@Mohsen所示,要设置的新环境变量是NUGET\u PACKAGES 对于nuget 3.0及以上版本,我使用以下脚本将packages文件夹重定向到不同驱动器中的文件夹,例如,另一个驱动器中的e:\

我有一台C:\驱动器空间有限的机器,但我有一个很大的D:\驱动器,有足够的空间。是否可以更改nuget软件包缓存的位置(我使用的是nuget 3.x)

设置一个环境变量
NuGetCachePath
,该变量的值为需要新包缓存的路径

更新:这个答案来自2016年,不再适用于更现代的NuGet版本。如@Mohsen所示,要设置的新环境变量是
NUGET\u PACKAGES


对于nuget 3.0及以上版本,我使用以下脚本将packages文件夹重定向到不同驱动器中的文件夹,例如,另一个驱动器中的e:\nuget cache as文件夹

pushd %USERPROFILE%\\

rmdir /Q /S .nuget

IF NOT EXIST e:\\nuget-cache mkdir e:\\nuget-cache

mklink /D .nuget e:\\nuget-cache

可以通过环境变量覆盖默认的nuget软件包缓存文件夹:

NUGET_PACKAGES

参考资料:

请添加更多(有用)信息。我们可以在哪里设置该变量?@Marten这是一个环境变量,您可以从控制面板进行设置。如果您需要帮助查找它,只需将该教程中的
PATH
替换为
numgetcachepath
这不再有效;请参阅下面@Mohsen的回答。如果用户配置文件不在同一磁盘上,
cd
命令将失败
pushd
将起作用。这里的其他答案都不起作用。这是一个很好的解决方法。对于我来说,使用命令提示符代替PowerShell在2021年这仍然是正确的答案