我有一个私有的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
答案 0 :(得分:3)
使用“管理NuGet包”对话框! 不要依赖Visual Studio中的构建/重建,期望它将恢复丢失的包。打开项目的“管理NuGet包”(右键单击一个失败的项目并选择该选项),您将看到一条消息“此项目缺少某些包...”,并带有“恢复”按钮。使用该按钮进行恢复将解决这些身份验证问题。