【问题标题】:Error when running msbuild /t:restore under Jenkins to restore nuget packages在 Jenkins 下运行 msbuild /t:restore 以恢复 nuget 包时出错
【发布时间】:2021-02-17 05:57:05
【问题描述】:

我们在构建过程中得到的错误是:

Unable to load the service index for source https://api.nuget.org/v3/index.json.
An error occurred while sending the request.
The underlying connection was closed: An unexpected error occurred on a send.
Authentication failed because the remote party has closed the transport stream.

如果我远程进入构建机器并从源代码控制中提取源代码,我可以构建并让 VS 恢复 nuget 包而不会出现问题。

我也可以在机器上的浏览器中打开https://api.nuget.org/v3/index.json,所以我不认为这是网络/防火墙问题。

请注意,Jenkins 是在 SYSTEM LOCAL 下运行的

【问题讨论】:

    标签: jenkins msbuild nuget nuget-package-restore


    【解决方案1】:

    这个问题似乎与 Win7 禁用了 TLS 1.2 有关。在机器上运行这个并且错误停止了:

    reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" /v DisabledByDefault /t REG_DWORD /d 0 /f /reg:32
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" /v DisabledByDefault /t REG_DWORD /d 0 /f /reg:64
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" /v Enabled /t REG_DWORD /d 1 /f /reg:32
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" /v Enabled /t REG_DWORD /d 1 /f /reg:64
    

    请注意,我认为您需要同时添加到 32 位和 64 位注册表,因为 msbuild 可能会根据构建运行在任一注册表中

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-26
      • 2014-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多