Visual Studio无法从Azure DevOps制品源还原NuGet包的问题排查
解决Visual Studio 2022中Azure DevOps NuGet制品源还原失败问题
在新工作站配置Visual Studio 2022社区版时,沿用此前有效的Azure DevOps制品源连接步骤,却出现NuGet包无法还原的问题。
问题排查过程
- 手动编辑
%APPDATA%\NuGet.config配置制品源,在packageSources节点下添加Azure DevOps源。因之前认知中Visual Studio 2022默认使用的协议版本2不被该制品源支持,特意为私有源添加了protocolVersion="3"属性:
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" /> <add key="azure-devops-feed" value="https://pkgs.dev.azure.com/xxxxxxxxxxxxxx/_packaging/xxxxxxxxxxxxxx-feed/nuget/v3/index.json" protocolVersion="3" /> <add key="Microsoft Visual Studio Offline Packages" value="C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\" />
- 运行构建时触发错误:
NU1301: Unable to load the service index for source https://pkgs.dev.azure.com/xxxxxxxxxxxxxx/_packaging/xxxxxxxxxxxxxx-feed/nuget/v3/index.json.
- 用登录Visual Studio的Windows账号在浏览器隐身标签页验证,确认该index.json可正常访问且内容无异常。
解决方法
复制旧工作站的NuGet.config文件后问题解决,对比发现唯一差异是移除了私有源的protocolVersion="3"属性。此前配置中需添加该属性避免404错误,但在新环境中该属性反而导致连接失败。
正确的完整NuGet.config配置如下:
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" /> <add key="azure-devops-feed" value="https://pkgs.dev.azure.com/xxxxxxxxxxxxxx/_packaging/xxxxxxxxxxxxxx-feed/nuget/v3/index.json" /> <add key="Microsoft Visual Studio Offline Packages" value="C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\" /> </packageSources> <packageRestore> <add key="enabled" value="True" /> <add key="automatic" value="True" /> </packageRestore> <bindingRedirects> <add key="skip" value="False" /> </bindingRedirects> <packageManagement> <add key="format" value="0" /> <add key="disabled" value="False" /> </packageManagement> </configuration>
内容的提问来源于stack exchange,提问作者Karl Dickman
相关产品推荐
相关产品推荐

