尽管不使用该驱动程序,但出现 Microsoft.Data.SqlClient 受信任证书错误

问题描述 投票:0回答:1

我正在使用 Visual Studio 2022 - v17.9.6。

当我尝试从现有 SQL Server 数据库修改或添加类型化数据集或实体框架 (v6) 模型时,收到有关受信任证书的错误,该证书很可能来自 Microsoft.Data.SqlClient。

我根本不使用该驱动程序进行数据访问。另外,我可以在同一应用程序中很好地连接到数据库。换句话说,假设我有一个在调试时工作正常的类型化数据集,当我尝试修改类型化数据集或添加新的表适配器时,它只会给我一个错误。

在这两种情况下,这些都是 .NET Framework 4.8 项目。

当我尝试更改查询的

CommandText
时,键入的数据集错误:

与服务器建立了连接,但登录过程中出现错误。 (提供商:SSL 提供商,错误:0 - 证书链是由不受信任的机构颁发的。)

enter image description here

在向导中选择数据连接后,将实体框架添加到新项目会引发类似的错误,但它引用了

Microsoft.Data.SqlClient

enter image description here

不知何故,我在更改现有实体框架模型时没有遇到此问题。我只有在添加新错误时才会出现该错误。

如果没有任何引用,那么对

Microsoft.Data.SqlClient
的引用来自哪里?

我尝试修复我的安装以及更新 Visual Studio。如果可能的话,我想避免卸载和重新安装。

我也尝试过卸载扩展。唯一可能出现问题的问题是 SQL Server Data Tools - SQL Editor。这似乎并没有保持卸载状态,也不可能出现问题。

我尝试将

trustServerCertificate=true
Encrypt=False
添加到连接字符串中,但这没有也不应该产生影响,因为程序仍然可以正常连接到数据库。我只有在尝试进行上述更改时才会遇到问题。

我确实在 Visual Studio 中发现了一些可能相关的错误,但我现在找不到它,无论如何它应该已在早期版本中修复。

entity-framework-6 visual-studio-2022 .net-4.8 microsoft-data-sqlclient
1个回答
0
投票

这可能是由于 SSL 证书不被信任造成的。尽管您没有直接使用 Microsoft.Data.SqlClient,但当您修改类型化数据集或添加实体框架模型时,Visual Studio 可能会间接引用它。请参考以下建议:

1:尝试清理并重新生成开发环境的 SSL 证书: 工具 > NuGet 包管理器 > 包管理器控制台,运行以下命令:

dotnet 开发证书 https --clean

dotnet 开发证书 https --trust

2:我在我的环境(VS 2022 17.9.7)测试过,没有发现任何问题。建议您更新到最新版本再尝试看看是否还有错误。

3:检查项目文件中的bin/obj文件夹中是否包含Microsoft.Data.SqlClient。

© www.soinside.com 2019 - 2024. All rights reserved.