对于ADO管道上的dotnet发布,使用专用源的NPM身份验证失败

对于ADO管道上的dotnet发布,使用专用源的NPM身份验证失败,npm,.net-core,azure-devops,azure-pipelines,Npm,.net Core,Azure Devops,Azure Pipelines,设置 我已使用dotnet new react创建了一个新项目 我的代码在Azure DevOps GIT上。 我使用的是在同一ADO组织的私有注册表上发布的npm模块 问题 在我的构建管道中,我的dotnet发布任务失败,出现以下错误 npm ERR! code E401 npm ERR! Unable to authenticate, need: Bearer authorization_uri=https://login.windows.net/xxxxxxxxxxxxxxxx, Ba

设置
我已使用
dotnet new react
创建了一个新项目
我的代码在Azure DevOps GIT上。
我使用的是在同一ADO组织的私有注册表上发布的npm模块

问题
在我的构建管道中,我的
dotnet发布
任务失败,出现以下错误

npm ERR! code E401
  npm ERR! Unable to authenticate, need: Bearer authorization_uri=https://login.windows.net/xxxxxxxxxxxxxxxx, Basic realm="https://xxxxxxxxxxx.pkgs.visualstudio.com/", TFS-Federated
  
  npm ERR! A complete log of this run can be found in:
  npm ERR!     C:\npm\cache\_logs\2020-10-23T16_16_30_880Z-debug.log
D:\a\1\s\Portal.csproj(48,5): error MSB3073: The command "npm install" exited with code 1.

我尝试过的事情

  • 在dotnet发布任务之前添加了一个任务。该任务通过了,但我在发布任务中得到了401错误
  • 对于ADO管道上的dotnet发布,使用专用源的NPM身份验证失败

    根据(针对任务运行者)的说明:

    使用此任务可向您的系统中的.npmrc文件提供npm凭据 用于生成范围的存储库这将启用npm,以及 npm任务执行者,如gulp和Grunt,向private验证 注册表

    因此,它不适用于
    dotnet发布
    任务。要解决此问题,您可以尝试使用npm任务,如
    npm install
    来恢复软件包和
    npm build
    来构建项目,然后使用发布项目

    你可以查看更多细节

    对于ADO管道上的dotnet发布,使用专用源的NPM身份验证失败

    根据(针对任务运行者)的说明:

    使用此任务可向您的系统中的.npmrc文件提供npm凭据 用于生成范围的存储库这将启用npm,以及 npm任务执行者,如gulp和Grunt,向private验证 注册表

    因此,它不适用于
    dotnet发布
    任务。要解决此问题,您可以尝试使用npm任务,如
    npm install
    来恢复软件包和
    npm build
    来构建项目,然后使用发布项目


    您可以查看更多详细信息。

    您建议的博客适用于纯reactjs网站。但是,我在同一个项目中也有dotnet控制器,如果我只使用npm任务,我应该如何部署控制器?@ShaswatRungta,您可以尝试添加dotnet还原任务来还原dotnet控制器项目(而不是所有项目)的包,然后使用
    dotnetpublish--no restore
    。您建议的博客适用于纯JS站点。但是,我在同一个项目中也有dotnet控制器,如果我只使用npm任务,我应该如何部署控制器?@ShaswatRungta,您可以尝试添加dotnet还原任务来还原dotnet控制器项目(而不是所有项目)的包,然后使用
    dotnet发布--无还原