1

我正在使用 nuget 与 msbuild (visual studio 2012) 的集成来自动恢复损坏的包。您可以在下面看到我的 .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用于安装(和恢复)包。

可以更改“包管理器控制台”的包目录吗?

4

2 回答 2

0

当您使用 repositoryPath 创建 nuget.config 时,您需要重新启动 VS 才能重新读取它并通过控制台了解它。

编辑:@DmitryBykadorov 很奇怪,你的 nuget 可能已经过时了吗?有一个早期问题,由于 config 在.nuget子文件夹中而不是在.csproj's current>parent>parent>etc 路径中,它不会看到它,需要一个nuget.config带有还原信息和一个(通常在 .sln 或 .csproj 本身旁边) ,repositoryPath但是我的 VS2012 和它附带的任何最新的 nuget 都可以在下面的配置中正常工作。可能是您的全局 nuget 配置会以某种方式影响它,或者您的解决方案需要硬清理/重建?

<configuration>
  <solution>
    <add key="disableSourceControlIntegration" value="true" />
  </solution>
  <config>
    <add key="repositoryPath" value="..\..\lib" />
  </config>
</configuration>
于 2013-10-10T21:55:03.893 回答
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"
于 2013-10-10T13:29:28.337 回答