【问题标题】:NuGet and VS2013 ignoring packageSourceCredentials in nuget.configNuGet 和 VS2013 忽略 nuget.config 中的 packageSourceCredentials
【发布时间】:2016-05-19 02:26:17
【问题描述】:

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

【问题讨论】:

  • 我有同样的问题,但我还没有找到解决方案。我有一个解决方法 - 将 nuget.config 从您的解决方案移动到用户范围的位置 (%AppData%\NuGet\NuGet.config)。这很糟糕,但总比没有好。
  • 有人找到解决方案了吗?

标签: visual-studio nuget


【解决方案1】:

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

【讨论】:

  • 我的 %AppData%\Nuget\Nuget.config 中有凭据,但当我单击“恢复”时,仍然会一直收到提示。可以在没有提示的情况下浏览它们,但恢复很麻烦。
猜你喜欢
  • 2013-04-21
  • 2014-06-03
  • 1970-01-01
  • 1970-01-01
  • 2019-11-06
  • 1970-01-01
  • 1970-01-01
  • 2021-01-06
  • 2015-01-15
相关资源
最近更新 更多