WSL 中的 dotnet 恢复和 AzureDevops 私人源

问题描述 投票:0回答:1

我需要在 WSL (Ubuntu 22.04) 中运行 Asp.Net Core 应用程序,我正在尝试执行命令:

点网恢复

从默认的 nuget.org 和 Azure Devops Server 2019 上的私人源恢复我的 nuget 包。我使用凭据和 API 密钥在 NuGet.config 文件中设置源,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <packageSources>
        <add key="Nuget" value="https://api.nuget.org/v3/index.json"/>
        <add key="MyFeed" value="https://devops.myfeed.com/tfs/company/_packaging/CompanyPackages/nuget/v3/index.json"/>
    </packageSources>
    <disabledPackageSources>
        <add key="MyFeed" value="true"/>
    </disabledPackageSources>
    <packageSourceCredentials>
        <MyFeed>
            <add key="Username" value="DOMAIN\User"/>
            <add key="ClearTextPassword" value="password"/>
        </MyFeed>
    </packageSourceCredentials>
    <apikeys>
        <add key="MyFeed" value="PATforPAckages"/>
    </apikeys>
</configuration>

但我总是收到 401 未经授权的错误。有人遇到过同样的问题吗?我该如何解决? 谢谢

c# .net azure-devops nuget
1个回答
0
投票

但我总是收到 401 未经授权的错误。

您似乎已在 Nuget.Config 中禁用了 DevOps feed

myfeed
。请将其从
<disabledPackageSources>
部分删除。

enter image description here

此外,

401
错误表示用户没有权限或PAT不正确。请按照以下项目进行检查:

  1. 确保用户拥有 DevOps feed 的权限。 enter image description here

  2. 生成一个新的 PAT 令牌,其范围至少为

    package
    read
    。将其放入 nuget.config 中。

enter image description here

在命令中指定Nuget.config文件:

$ dotnet restore <project>.csproj --configfile NuGet.config --verbosity detailed

在 WSL 中,确保它可以访问目标 Azure DevOps 服务器站点。

我这边的恢复结果供大家参考:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.