2

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

恢复 NuGet 包 Basd.Diagnostics.0.7.0。

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

公共/私人提要在我的 nuget.config 中列出,它们也显示在构建日志中"Using Feeds...",因此恢复操作无法找到包的实际提要不是问题。它更像是无法进行身份验证,因此无法从提要中检索包。

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

  "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"定义中有一个字段。我已经用谷歌搜索了,但我找不到设置的方式和位置,但我假设这会阻止对我的提要进行身份验证,这反过来又是恢复操作失败的原因。

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

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

4

2 回答 2

1

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

问题:Visual Studio Team Services 的打包问题 – 7/30 – 已解决

于 2016-08-01T01:51:08.467 回答
0

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

一个建议是将此任务的详细程度设置为“详细”,然后重新运行构建。您会在 NuGet 还原任务\高级\详细信息中找到它。

于 2016-07-31T02:04:12.470 回答