VSTS Nuget安装程序无法使用程序包提要进行身份验证

时间:2016-07-30 23:08:48

标签: azure-devops nuget-package-restore nuget-server azure-pipelines azure-artifacts

我在VSTS上有一个包提供,提供了我在一个也在VSTS上构建的解决方案中引用的几个包。在软件包恢复阶段,构建突然失败,日志表明它无法找到nuget应该恢复的dll。

  

恢复NuGet包Basd.Diagnostics.0.7.0。

     

警告:无法找到版本' 0.7.0'包裹' Basd.Diagnostics'。

我的nuget.config中列出了公共/私有订阅源,它们也显示在构建日志"Using Feeds..."中,因此恢复操作无法找到实际的订阅源对于包裹。它更像是无法进行身份验证,因此无法从Feed中检索包。

如果我查看构建定义的历史记录,则从上次工作到现在有一​​个变化,就是这样:

  "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"字段。我已经用Google搜索但我无法找到设置的方式和位置,但我假设这会阻止对我的Feed进行身份验证,这反过来又是恢复操作失败的原因。

那么这个设置在哪里和/或如何将其重新打开或将其作为条目删除?在工作构建def中,它没有设置为true,它只是不存在。

是否是我在nuget.config文件中设置的VSTS UI相关字段?我假设前者因为再次做差异表明我的nuget.config在工作和非工作构建之间没有任何变化。

2 个答案:

答案 0 :(得分:1)

这似乎是由VSTS问题造成的,现在应该修复,请尝试构建代理。

问题:Packaging issues with Visual Studio Team Services – 7/30 – Resolved

答案 1 :(得分:0)

" preCredProviderNuGet"设置与您的问题无关。 NuGet Restore任务具有其他高级设置," NuGet.exe的路径"以及相应的复选框" NuGet.exe的路径低于版本3.2"。这些设置对应于构建json中的nuGetPath和preCredProviderNuGet设置。在使用中,如果还设置了nuGetPath,则preCredProviderNuGet仅具有影响,并且是对任务的信号,即使用的NuGet版本将无法使用凭证提供程序,因为在v3之前不支持插件凭据提供程序。 2

一个建议是将此任务的详细程度设置为" Detailed",然后重新运行构建。您将在NuGet Restore task \ Advanced \ Verbosity。

中找到它