我正在使用与msbuild(visual studio 2012)的nuget集成来自动恢复损坏的包。您可以在下面看到解决方案的.nuget / nuget.config文件:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageRestore>
<add key="enabled" value="True" />
</packageRestore>
<disabledPackageSources />
<activePackageSource>
<add key="All" value="(Aggregate source)" />
</activePackageSource>
<config>
<add key="repositoryPath" value="..\..\Lib\NuGet\Packages" />
</config>
</configuration>
我的包目录从解决方案移出。这在构建期间工作正常,但程序包管理器控制台仍然使用$(SolutionDir)\packages
来安装(和恢复)程序包。
可以更改“程序包管理器控制台”的程序包目录吗?
答案 0 :(得分:0)
nuget.config
你得到了第一部分:
<config>
<add key="repositoryPath" value="..\MySuperCoolPackages" />
</config>
但是你必须明确告诉命令行有关nuget.config文件。
C:\SomeFolder\NuGet.exe install "C:\MySolution\.nuget\packages.config" -ConfigFile "C:\MySolution\.nuget\nuget.config"
答案 1 :(得分:0)
当您使用repositoryPath创建nuget.config时,您需要重新启动VS才能重新读取它并让控制台知道它。
编辑:@DmitryBykadorov很奇怪,可能你的nuget已经过时了?有一个早期的问题,由于配置在.nuget
子文件夹而不在.csproj
的当前&gt;父&gt;父&gt;等路径中,它不会看到它并且需要一个nuget.config
使用repositoryPath
恢复信息和一个(通常在.sln或.csproj本身旁边),但我的VS2012与它附带的任何最新的nuget工作正常下面的配置。可能是你的全局nuget配置以某种方式影响它,或者你的解决方案需要硬清理/重建?
<configuration>
<solution>
<add key="disableSourceControlIntegration" value="true" />
</solution>
<config>
<add key="repositoryPath" value="..\..\lib" />
</config>
</configuration>