在.NET 4.6,8 月-9 月 2018年.NET Framework 更新之后的更高版本的 SqlConnection 实例化异常

适用于: .NET Framework 4.6Microsoft .NET Framework 4.6.1Microsoft .NET Framework 4.6.2

症状


8 月质量汇总预览2018,9 月 11,.NET Framework 更新在安装后,SqlConnection 的实例化可能会引发异常。

使用 SqlConnection 构造函数可能会导致类似于下面的堆栈跟踪:

解决办法


解决办法 1:

ConfigSection 应用程序的 App.Config 文件中添加以下行:

<section name="SqlColumnEncryptionEnclaveProviders"type="System.Data.SqlClient.SqlColumnEncryptionEnclaveProviderConfigurationSection,System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

请注意如果您的应用程序中不包含一个 app.config 文件,我们建议您创建和部署的 app.config 文件包含此信息的 configSection 的。

如果解决方法 1 不起作用,请尝试解决办法 2。

解决办法 2

确定任何对象已添加到逻辑调用上下文之前运行的应用程序域中的位置。添加代码以强制 ConfigurationManager 尝试加载不存在任何配置文件中的节。例如:

System.Configuration.ConfigurationManager.GetSection("SectionNameThatDoesNotExistInAnyConfigurationFile");

有关此问题的详细信息,请参阅 GitHub 文章缓解: 跨应用程序域的对象的反序列化

状态


Microsoft 正在研究此问题,并将提供在未来版本中的更新。