jenkins - 在 Jenkins 下运行 msbuild /t:restore 以恢复 nuget 包时出错
问题描述
我们在构建过程中得到的错误是:
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 下运行
解决方案
该问题似乎与禁用 TLS 1.2 的 Win7 有关。在机器上运行它并且错误停止了:
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 可能会根据构建在任何一个中运行
推荐阅读
- javascript - 在 google 登录中调度 redux thunk 操作
- javascript - 初始化对象内的数组,在 localStorage 中使用
- graphql - 部分更新突变(GraphQL)
- c++ - 在 std::map < int , std::vector 中查找向量中元素的值
> - ios - 模仿 SVProgressHUD 行为
- flutter - setState 不会重建
- css - 如何解决 SassError: Invalid parent selector "*"?
- c++ - 特定范围内的随机数
- reactjs - 如何使用材料表反应仅在编辑或创建模式下显示隐藏列?
- angular - 模板引用变量:分配 ngForm 和 ngModel