Visual studio 2013 VS 2013不遵守AppData中的Nuget配置

Visual studio 2013 VS 2013不遵守AppData中的Nuget配置,visual-studio-2013,nuget,nuget-package-restore,Visual Studio 2013,Nuget,Nuget Package Restore,我在%appdata%/nuget/nuget.config中有一个包含以下内容的文件: <?xml version="1.0" encoding="utf-8"?> <configuration> <config> <add key="repositoryPath" value="C:\BTR\packages" /> </config> <packageRestore> <add key

我在%appdata%/nuget/nuget.config中有一个包含以下内容的文件:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <config>
    <add key="repositoryPath" value="C:\BTR\packages" />
  </config>
  <packageRestore>
    <add key="enabled" value="True" />
    <add key="automatic" value="True" />
  </packageRestore>
  <packageSources>
    <add key="nuget.org" value="https://www.nuget.org/api/v2/" />
  </packageSources>
  <disabledPackageSources />
  <activePackageSource>
    <add key="nuget.org" value="https://www.nuget.org/api/v2/" />
  </activePackageSource>
</configuration>

然后在一个项目中,我在packages.config中有以下内容

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Newtonsoft.Json" version="6.0.3" targetFramework="net35" />
</packages>

如果我从/bin中删除Newtonsoft dll并重新生成,我希望它将包下载到c:\btr\packages,但它将包下载到与解决方案相同的文件夹中的\packages

你知道为什么这不符合设定吗?据我所知,我没有任何其他可以覆盖此设置的Nuget.config文件

提前谢谢


更新:请参阅下面Matt Ward的评论。

如果使用
nuget restore foo.sln
在命令行手动还原包,会发生什么情况?如果从VS命令行使用MSBuild进行生成,会怎么样?是否在更改NuGet.Config文件后关闭并重新打开解决方案?CL restore没有执行任何操作。我不知道如何使用MSBuild(我也不想学习;)@马特沃德——这似乎确实是个问题(或至少与此相关)。经过几次更改、重新启动等之后,它开始遵守。我正在讨论的其他wierd nuget行为是,nuget“安装”不会修复以前不正确的程序集引用,但如果它继续存在,将在以后创建新的SO问题。@MattWard我将进一步并重新启动Visual Studio。特别是因为这是全局NuGet.config;我认为它只在IDE启动时加载。@Heliac-In NuGet用户特定的NuGet.config信息存储在内存中,当解决方案关闭时会被重置,因此无需重新启动Visual Studio。这是张贴的问题中的情况。唯一未重置的NuGet.config文件是存储在c:\ProgramData中的计算机范围的NuGet.config文件,对这些文件的更改需要重新启动Visual Studio。对%appdata%/NuGet中的NuGet.Config所做的更改不需要重新启动Visual Studio,只需要关闭并重新打开解决方案即可。