在Jenkins下运行msbuild /t:restore恢复nuget包时出错

问题描述

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

  final staticTicks = <charts.TickSpec<double>>[
    new charts.TickSpec(250),new charts.TickSpec(500),new charts.TickSpec(1000),new charts.TickSpec(2000),new charts.TickSpec(4000),new charts.TickSpec(8000),];

  domainAxis: new charts.NumericAxisspec(
    tickProviderSpec: new charts.StaticNumericTickProviderSpec(staticTicks),),

如果我远程进入构建机器并从源代码管理中提取代码,我可以构建并让 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 可能会在其中任何一个中运行

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...