如何解决Cake.build错误:“基础连接已关闭:发送中发生意外错误”
尝试在Powershell中运行构建蛋糕文件时遇到问题。
- build.cake文件的第一行是:
#addin "nuget:?package=Cake.SemVer&version=1.0.14"
- /tools/packages.config中的版本为
<package id="Cake" version="0.21.1" />
以下是与full script
的链接对于Jenkins和本地主机来说,这是相同的。
在响应中,我也看到了以下几行: 下载并安装Roslyn ... 正在安装软件包(使用https://packages.nuget.org/api/v2)...
我不确定Roslyn是否需要此下载,还是告知下载和安装Roslyn ...的步骤已经结束,下一步是安装软件包。
我尝试更新Cake和semver版本。运行正常:
build.cake
#addin "nuget:?package=Cake.SemVer&version=4.0.0"
#addin "nuget:?package=semver&version=2.0.6"
packages.config
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Cake" version="0.38.4" />
</packages>
但是在生成结果中,我看不到例如“下载并安装Roslyn ...”,因此我不确定它是否正常运行:
感谢您的帮助
解决方法
请确认您的build.ps1文件是否包含以下代码行:
https://github.com/cake-build/resources/blob/master/build.ps1#L53-L68
# Attempt to set highest encryption available for SecurityProtocol.
# PowerShell will not set this by default (until maybe .NET 4.6.x). This
# will typically produce a message for PowerShell v2 (just an info
# message though)
try {
# Set TLS 1.2 (3072),then TLS 1.1 (768),then TLS 1.0 (192),finally SSL 3.0 (48)
# Use integers because the enumeration values for TLS 1.2 and TLS 1.1 won't
# exist in .NET 4.0,even though they are addressable if .NET 4.5+ is
# installed (.NET 4.5 is an in-place upgrade).
# PowerShell Core already has support for TLS 1.2 so we can skip this if running in that.
if (-not $IsCoreCLR) {
[System.Net.ServicePointManager]::SecurityProtocol = 3072 -bor 768 -bor 192 -bor 48
}
} catch {
Write-Output 'Unable to set PowerShell to use TLS 1.2 and TLS 1.1 due to old .NET Framework installed. If you see underlying connection closed or trust errors,you may need to upgrade to .NET Framework 4.5+ and PowerShell v3'
}
NuGet have turned off TLS 1.0 and 1.1,and you will not be able to download any packages from NuGet.org unless a change is made similar to the above. More details can be found here:
https://devblogs.microsoft.com/nuget/nuget-org-will-permanently-remove-support-for-tls-1-0-and-1-1-on-june-15th/
此PR中不再需要下载Roslyn组件:
https://github.com/cake-build/cake/pull/1645/files
Cake的v0.22.0版本中已提供。结果,您将不会看到有关在较新版本的Cake中下载Roslyn的消息。
关于您使用的Cake版本0.21.1,这是3年前发布的:
https://www.nuget.org/packages/Cake/0.21.1
除非有令人信服的理由继续使用该版本,否则我建议您切换到使用最新版本。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。