【问题标题】:Error restoring package from private feed in Azure DevOps从 Azure DevOps 中的专用源还原包时出错
【发布时间】:2019-04-06 14:35:12
【问题描述】:

我有一个 Xamarin Forms 项目,我正在为此使用私有 Telerik nuget 提要(我们正在使用他们的 UI 控件)。

在 Azure DevOps 构建管道中,我向 Telerik nuget 提要添加了一个新服务连接。

在我的构建管道中,我有一个恢复这些包的 nuget 任务。

但是我的构建失败并出现错误“无法解析 Telerik.UI.for.Xamarin”。

我对配置私有 nuget 提要的理解可能不正确。我是否需要指定一个 nuget.config 文件来指定 Telerik nuget 包?我是否需要从 .csproj 中删除对 Telerik 包的引用? (即我是否需要分离出我的私有 nuget 包以防止构建尝试下载它们?)

【问题讨论】:

    标签: nuget azure-devops nuget-package nuget-package-restore


    【解决方案1】:

    经过反复试验,我最终设法通过为我的项目创建一个 nuget.config 文件并添加以下条目来解决此问题。

    <?xml version="1.0"?>
    <configuration>
      <packageSources>
        <add key="nuget.org" value="https://www.nuget.org/api/v2/" />
      </packageSources>
      <packageRestore>
        <add key="enabled" value="true" />
        <add key="automatic" value="true" />
      </packageRestore>
    </configuration>
    

    这些只是允许我的项目从 nuget.org 获取包的默认值。然后,我为从私有 Telerik nuget 提要获取包而配置的服务凭据在构建期间合并到此 nuget.config 文件中。因此,该构建能够从 nuget.org 以及私有 Telerik 提要中获取默认包。

    【讨论】:

      【解决方案2】:

      在我们的例子中,问题是一个斜杠。在我们的nuget.config 文件中,我们将端点指定为https://nuget.telerik.com/nuget/,但在Azure DevOps 的服务连接中,它被指定为https://nuget.telerik.com/nuget(注意缺少尾部斜杠!)。

      Azure DevOps 对它的特殊性 有点烦人,但是一旦我们最终看到了差异并从nuget.config 中删除了尾部斜杠,一切都会按预期工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-01-26
        • 2020-08-06
        • 2020-01-09
        • 1970-01-01
        • 1970-01-01
        • 2019-10-13
        • 1970-01-01
        相关资源
        最近更新 更多