无法将包推送到 azure artifacts feed,一直要求提供凭据

Cannot push packages to azure artifacts feed, keeps asking for credentials

我在本地有 .nupkg 个文件,我正试图将其推送到 azure artifacts。 我以前一直在推送包裹,但由于某种原因,它现在停止工作了。 我有一个 feed 设置,并且我在 azure artifacts 中获得了 feed 的完全所有者权限。

我已经将 NuGet.CommandLine 包安装到我的项目中,并且我 运行 在包管理器控制台中执行以下命令(当我 运行 它来自 windows 命令终端)

nuget.exe push -ConfigFile "D:\Projects\myProj\NuGet.Config" -Source "Itm_Feed" -ApiKey az "D:\Projects\myProj\LocalPackages\ITM.VisiWin7.Common.2.12.0.nupkg" 
MSBuild auto-detection: using msbuild version '15.9.21.664' from 'C:\Program Files (x86)\Microsoft Visual Studio17\Community\MSBuild.0\bin'.
Please provide credentials for: https://pkgs.dev.azure.com/tembogroup/HMI/_packaging/Itm_Feed/nuget/v3/index.json

Nuget.config

<?xml version="1.0" encoding="utf-8"?>

<configuration>

  <!-- NuGet packages are now stored globally, see:  -->
  <!-- see:  -->
  <config>
    <add key="globalPackagesFolder" value=".\Packages" />
    <add key="repositoryPath" value=".\Packages" />
  </config>
  
  <!-- Setup for local packages, not in a nuget source -->
  <packageSources>
    <add key="Itm_Feed" value="https://pkgs.dev.azure.com/organization/team/_packaging/Itm_Feed/nuget/v3/index.json" />
  </packageSources>

</configuration>

如您所见,它一直提示我输入凭据 - 之前它在工作时不会这样做。

the behaviour is duplicated when i run it from a windows command terminal

我可以在使用 Username and Password 时重现此问题。

要解决此问题,您可以尝试使用 用户名 + PAT(个人访问令牌)。

例如:

另一方面,如果每次都需要在命令行中输入用户名和密码,会有点不方便。

因此您可以尝试使用以下命令将 packageSourceCredentials 添加到 nuget.config 文件。

Nuget 命令:

nuget sources update -name Itm_Feed -username 123 -password <PAT>

在这种情况下,您可以 运行 Nuget Push 而无需添加用户名和 PAT。

注意:Nuget资源名称不能为纯数字

使用 Developer 命令行对我造成了这个问题。从 Windows(不在 VS 中,即不是开发人员命令行)创建命令提示符有效,我收到一个弹出窗口,要求提供允许推送包的凭据