首页 文章

NuGet和VS2013忽略nuget.config中的packageSourceCredentials

提问于
浏览
7

我有一个私人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>

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

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

1 回答

  • 3

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

相关问题