Excepción en la creación de instancias de SqlConnection en .NET 4.6 y versiones posteriores tras las actualizaciones de .NET Framework de agosto y septiembre de 2018

Se aplica a: .NET Framework 4.6Microsoft .NET Framework 4.6.1Microsoft .NET Framework 4.6.2

Síntomas


Después de instalar el Agosto vista previa de calidad paquete acumulativo de actualizaciones o el 11 de septiembre de 2018, actualización de.NET Framework, la creación de instancias de SqlConnection puede producir una excepción.

El uso de un constructor SqlConnection puede conducir a una traza de pila similar al siguiente:

Solución alternativa


Solución alternativa 1

Agregue las líneas siguientes en el configSection del archivo App.Config de la aplicación:

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

Nota Si la aplicación no incluye un archivo app.config, recomendamos que cree e implemente un archivo app.config que contiene esta información en el configSection.

Si no funciona la solución 1, pruebe la solución 2.

Solución alternativa 2

Identificar un lugar en el dominio de aplicación que se ejecuta antes de que los objetos se han agregado al contexto de llamada lógica. Agregue código para forzar ConfigurationManager para intentar cargar una sección que no existe en los archivos de configuración. Por ejemplo:

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

Para obtener más información acerca de este problema, consulte el artículo de GitHub mitigación: deserialización de objetos entre dominios de aplicación.

Estado


Microsoft está investigando este problema y proporcionará una actualización en un próximo lanzamiento.