NuGet和VS2013忽略nuget.config中的packageSourceCredentials

Jam*_*mes 7 visual-studio nuget

我有一个私人nuget服务器,我试图从中提取包(最终Azure构建代理,但我首先在本地尝试).

我使用2.7 NuGet意味着我不需要.NuGet文件夹(以及.exe和.targets).我的解决方案目录中有一个nuget.config.

我知道nuget.config正在被选中,因为它找到了我的远程存储库,但未使用配置中提供的凭据.

这是我的配置:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <activePackageSource>
    <add key="All" value="(Aggregate source)" />
  </activePackageSource>
  <packageSources>
    <add key="https://www.nuget.org/api/v2/" value="https://www.nuget.org/api/v2/" />
    <add key="myrepo" value="http://myrepo:81/nuget/myfeed" />
  </packageSources>
  <disabledPackageSources />
  <packageSourceCredentials>
    <myrepo>
      <add key="Username" value="user" />
      <add key="ClearTextPassword" value="pass" />
    </myrepo>
  </packageSourceCredentials>
</configuration>
Run Code Online (Sandbox Code Playgroud)

什么会导致nuget忽略这些凭据?我已经检查过Fiddler,并且没有发送凭据,服务器响应401(正确):

Error   1   NuGet Package restore failed for project MyProject: The remote server returned an error: (401) Unauthorized..       0   0   
Run Code Online (Sandbox Code Playgroud)

小智 2

使用“管理 NuGet 包”对话框!不要依赖 Visual Studio 中的构建/重建来期望它会恢复丢失的包。打开项目的“管理 NuGet 包”(右键单击失败的项目并选择选项),您将看到一条消息“此项目缺少某些包...”,并带有“恢复”按钮。使用该按钮进行恢复将解决这些身份验证问题。