Azure devops VSTS Nuget安装程序无法使用包源进行身份验证

Azure devops VSTS Nuget安装程序无法使用包源进行身份验证,azure-devops,nuget-package-restore,nuget-server,azure-pipelines,azure-artifacts,Azure Devops,Nuget Package Restore,Nuget Server,Azure Pipelines,Azure Artifacts,我在VST上有一个包提要,它提供了几个包,我在同样基于VST构建的解决方案中引用了这些包。构建在包恢复阶段突然开始失败,日志表明它找不到应该恢复的DLL nuget 正在还原NuGet包Basd.Diagnostics.0.7.0 警告:找不到包“Basd.Diagnostics”的版本“0.7.0” 公共/私有源列在my nuget.config中,它们也显示在生成日志中“使用源…”,因此,恢复操作无法找到包的实际源并不是问题。它更像是无法进行身份验证,因此无法从提要中检索包 如果我查看构建定

我在VST上有一个包提要,它提供了几个包,我在同样基于VST构建的解决方案中引用了这些包。构建在包恢复阶段突然开始失败,日志表明它找不到应该恢复的DLL nuget

正在还原NuGet包Basd.Diagnostics.0.7.0

警告:找不到包“Basd.Diagnostics”的版本“0.7.0”

公共/私有源列在my nuget.config中,它们也显示在生成日志中
“使用源…”
,因此,恢复操作无法找到包的实际源并不是问题。它更像是无法进行身份验证,因此无法从提要中检索包

如果我查看构建定义的历史记录,它从上次工作到现在有一个变化,即:

  "build": [
    {
      "enabled": true,
      "continueOnError": false,
      "alwaysRun": false,
      "displayName": "NuGet restore MySol.sln",
      "timeoutInMinutes": 0,
      "task": {
        "id": "333b11bd-d341-40d9-afcf-b32d5ce6f23b",
        "versionSpec": "*",
        "definitionType": "task"
      },
      "inputs": {
        "solution": "Basd.Core.sln",
        "nugetConfigPath": "nuget.config",
        "restoreMode": "restore",
        "noCache": "false",
        "nuGetRestoreArgs": "",
        "verbosity": "",
        "nuGetPath": "",
        "preCredProviderNuGet": "false"
      }
    },
现在定义中有一个
“preCredProviderNuGet”:“false”
字段。我在谷歌上搜索过,但我不知道这是如何设置的,也不知道在哪里设置的,但我假设这会阻止对我的提要进行身份验证,这反过来也是恢复操作失败的原因

那么,该设置在哪里,以及/或者如何将其重新打开或将其作为条目删除?在工作的build def中,它没有设置为true,只是不存在

是VSTS UI相关字段还是我在nuget.config文件中设置的字段?我假设是前者,因为再次执行diff表明我的nuget.config在工作版本和非工作版本之间没有任何变化。

preCredProviderNuGet”设置与您的问题无关。NuGet还原任务具有其他高级设置,“指向NuGet.exe的路径”和相应的复选框“指向NuGet.exe的路径低于版本3.2”。这些设置对应于构建json中的nuGetPath和preCredProviderNuGet设置。在使用中,preCredProviderNuGet仅在同时设置nuGetPath的情况下才有影响,并且是向任务发出的信号,表明正在使用的NuGet版本将无法使用凭据提供程序,因为v3.2之前不支持插件凭据提供程序


一个建议是将此任务的详细性设置为“详细”,然后重新运行构建。您会发现,在NuGet Restore task\Advanced\Verbosity中。

这似乎是由VSTS问题引起的,现在应该解决了,请尝试使用生成代理


问题:

感谢您的回复,但详细的日志让我相信此设置是关键。在不存在此设置时工作的生成中,它将记录xyzFeed的
设置凭据。在出现
preCredProviderNuGet
的失败版本中,没有相应的条目。如果它没有设置凭据,那么它将不会连接/查找包。因此,此设置将关闭设置凭据的步骤。由于两个版本都没有检查nuget路径或下面的3.2版本,我认为此设置的作用是相同的。不,不幸的是,这并没有解决我的问题,但考虑到在我结束时没有发生任何变化,而且时间安排太巧合,我认为这是微软的问题。这就是云的问题——缺乏控制,当它崩溃时,每个人都会崩溃。虫子变成了传染病。不过,感谢您的链接-某种程度上是理智检查。@rism MS正在调查这方面的一个新问题:第二个修补程序/修复程序已经运行。谢谢你的链接。