【问题标题】:TFS2017.2 NuGet restore task - ETIMEDOUT 93.184.221.200:443TFS2017.2 NuGet 还原任务 - ETIMEDOUT 93.184.221.200:443
【发布时间】:2018-02-12 21:07:07
【问题描述】:

我有几个构建定义正在使用“旧”NuGet 安装程序任务从我们的内部 TFS 提要(相同的集合)恢复依赖项;提要 url 通过 NuGet 源参数指定:

恢复过程正常,如下所示:

切换到较新版本的任务会导致构建失败:

由于构建代理无法访问互联网,我如何禁用与 93.184.221.200:443 的连接尝试?

我正在使用 TFS 15.117.26714.0。

更新 1

我将 nuget.exe 复制到 c:\nuget 文件夹,然后将该文件夹添加到 PATH 环境变量中。结果一样

更新 2

我将 nuget.exe 复制到 C:\B\1_tool\NuGet\4.0.0\x64 文件夹;结果如下:

【问题讨论】:

    标签: tfs nuget-package-restore


    【解决方案1】:

    更新 3 - 解决方法

    为了欺骗“新”NuGet 任务在工具缓存中找到 nuget.exe,您需要在 {agent work folder}\_tool 创建一个名为 x64.complete 的虚拟文件\NuGet\4.0.0 文件夹并将 nuget.exe 文件复制到 {agent work folder}\_tool\NuGet\4.0.0\x64 文件夹中

    【讨论】:

    • 不要像我一样浪费时间,确保你的服务器显示扩展名,否则你最终会得到一个像 x64.complete.txt 这样的文件,这毫无疑问是行不通的。
    【解决方案2】:

    似乎新版本的任务有问题。如果您禁用了Use packages from NeGet.org,通常它不会访问api.nuget.org

    参考这个类似的问题:NuGet restore task fails from the Xamarin.Android template in TFS 2017 update 2

    还有这个相关的反馈(尚未解决):NuGet Push task fails and has no retry option

    但是,您可以尝试为您的构建代理启用 Internet 访问,然后再试一次。

    如果还是不行,请尝试在构建过程中启用 system.debug。然后在此处捕获并共享日志以进行进一步的故障排除。

    作为一种解决方法,您现在可以使用旧版本。

    【讨论】:

      【解决方案3】:

      除了 ds19 的问题和解决方法(谢谢!),我们在 VS2017 中遇到了非常相似的问题。在我们这里,服务器通常不能访问互联网。随着我们升级到 VS2017 和 TFS2017(更新 3),这个规则必须放宽。

      最初,我们通过使用 ds19 的 Update 3 - Workaround 解决了构建问题,但这仍然使我们无法使用除了 nuget 4.0.0 之外的任何东西,因为 Nuget Tool Installer 任务仍然给出超时错误。

      在与 MS 合作后,他们建议我们将 CDN 站点 (cs9.wpc.v0cdn.net) 添加到代理的白名单中。完成此操作后,除了 Nuget 还原之外,我们还可以使用 Nuget Tool Installer 任务。

      【讨论】:

        【解决方案4】:

        为了使其正常工作,我们修改了构建代理的环境变量,添加了

        http_proxy=http://wsa.arz.de:3128
        https_proxy=http://wsa.arz.de:3128
        

        希望对你有帮助

        【讨论】:

          猜你喜欢
          • 2018-06-09
          • 2020-09-28
          • 2022-06-21
          • 1970-01-01
          • 1970-01-01
          • 2021-08-09
          • 2016-08-16
          • 1970-01-01
          • 2017-09-13
          相关资源
          最近更新 更多