在我的构建服务器上,我使用一个MSBuild还原任务来在构建之前还原Nuget包,但是我得到了错误:
无法为源https://api.nuget.org/v3/index.json加载服务索引。
发送请求时出错。
请求被中止:无法创建SSL/TLS安全通道。
当我调用Nuget.exe时,它会工作。
MSBuild version = "16.8.2+25e4d540b“服务器相当老,它是一个Windows2008R2 SP1。
我试图检查TLS 1.2是否有问题,所以我运行了一个小程序来测试协议。我从这里得到了代码:https://gist.github.com/zivkan/5291f507c8c5724d41a18357b7afcd30
结果是:
不起作用
Ssl2失败
Ssl3失败
Tls失败
默认失败
Tls11失败
Tls12工作过
Tls13失败
这应该是可以的,根据评论。
接下来我应该做什么才能让MSBuild恢复正常工作呢?
发布于 2021-01-20 06:36:04
试试这个:
建议
1),因为您只安装了TLS1.2,而没有安装TLS1.3。试着打开它。在Developer Powershell for VS2019作为管理员下运行以下命令
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:642) (如果第一步不起作用,请尝试以下步骤:
New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server' -Force | Out-Null
New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server' -name 'Enabled' -value '0' -PropertyType 'DWord' -Force | Out-Null
New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null
New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client' -Force | Out-Null
New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client' -name 'Enabled' -value '0' -PropertyType 'DWord' -Force | Out-Null
New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null
Write-Host 'TLS 1.3 has been disabled.'
reg add HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 /v SystemDefaultTlsVersions /t REG_DWORD /d 1 /f /reg:64
reg add HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 /v SystemDefaultTlsVersions /t REG_DWORD /d 1 /f /reg:32https://stackoverflow.com/questions/65788033
复制相似问题