当我尝试使用Entity Framework Core连接到MSSQL数据库时,在最新版本的Mac OS High Sierra(10.13.5)中出现异常:
SqlException:成功与服务器建立了连接,但在预登录握手期间发生错误(提供程序:SSL提供程序,错误:31-加密(ssl / tls)握手失败)
我已经更新到最新版本的.NET core:
dotnet --version: 2.1.300
dotnet --info: .NET Core SDK (reflecting any global.json):
Version: 2.1.300
Commit: adab45bf0c
Runtime Environment:
OS Name: Mac OS X
OS Version: 10.13
OS Platform: Darwin
RID: osx.10.13-x64
Base Path: /usr/local/share/dotnet/sdk/2.1.300/
Host (useful for support):
Version: 2.1.0
Commit: caa7b7e2ba
.NET Core SDKs installed:
1.0.4 [/usr/local/share/dotnet/sdk]
2.0.0 [/usr/local/share/dotnet/sdk]
2.1.300 [/usr/local/share/dotnet/sdk]
我在快速谷歌搜索后发现了一些相似的异常,但没有关于最新版本的OSX和安装了最新版本.NET Core的相关信息。
是否有可能是最新版本的一个bug?我已经在Windows上使用相同的源代码进行了测试,没有出现任何问题。
以下是我的项目文件中的参考:
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Hosting" Version="2.1.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.0.2" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.0.2" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.0.2" />
<PackageReference Include="System.Security.Cryptography.OpenSsl" Version="4.5.0" />
</ItemGroup>