我在 Azure DevOps 中创建了一个构建管道来构建 .NET 8.0 应用程序。该代码驻留在我的 Azure DevOps 存储库中。我在经典编辑器中选择了 .NET Core 模板来构建管道。我的管道在“恢复”任务处停止并出现错误:
error NU1301: Unable to load the service index for source
https://pkgs.dev.azure.com/myprojectname/_packaging/1199d650-e459-4ff6-85b8-91354ce28542/nuget/v3/index.json.
我在 Azure DevOps 中创建了一个工件源,其中安装了所有必需的 NuGet 包。构建代理是 Microsoft 托管代理(Windows 操作系统),它尝试访问 URL 并收到错误。
任何人都可以帮我解决这个问题吗? 谢谢你
尝试添加其他 NuGet 任务,例如 NuGet 身份验证、工具安装程序和 NuGet 恢复,但仍然面临相同的错误。
我在经典编辑器中选择了 .NET Core 模板来构建管道。我的管道因错误而停止在“恢复”任务处。
error NU1301: Unable to load the service index for source
是由 identity
没有目标 DevOps feed 的权限引起的。
进入目标 feed ->
Permissions
选项卡,确保身份已授予 contributor
(至少 reader
)权限。
根据您的项目配置,
identity
可能会有所不同。详情如下:
如果您在恢复任务中使用nuget.config,并在nuget.config中配置用户,请为该帐户授予权限。
如果恢复任务中没有使用nuget.config,请检查项目设置->
Limit job authorization scope to current project for non-release pipelines
:
如果启用该选项,您需要授予项目范围身份的提要权限(
{Project Name} Build Service ({Org Name})
)。
如果该选项关闭,这意味着它使用了集合范围的身份(
Project Collection Build Service ({OrgName})
),请为此帐户授予提要权限。
您可以查看官方文档Scoped build identities了解详细信息。
授予
correct
身份的权限后,应该会成功恢复。
此外,根据错误中的提要链接,它是
organization level
提要,不是myprojectname
而是myorganizationname
。如果是项目级别的 feed,则 url 中包含结构({org}/{project}),如 https://pkgs.dev.azure.com/{org}/{project}/_packaging/{feedname}/nuget/v3/index.json"
。