Exceção de instanciação de SqlConnection no .NET 4.6 e versão posterior após as atualizações de agosto e setembro de 2018 do .NET Framework

Aplica-se a: .NET Framework 4.6Microsoft .NET Framework 4.6.1Microsoft .NET Framework 4.6.2

Sintomas


Depois de instalar a Visualização de agosto do acúmulo de qualidade ou atualização do dia 11 de setembro de 2018,.NET Framework, instanciação do SqlConnection pode lançar uma exceção.

Uso de um construtor SqlConnection pode levar a um rastreamento de pilha que é semelhante ao seguinte:

Solução alternativa


Solução Alternativa 1

Adicione as seguintes linhas no configSection do arquivo App. config do aplicativo:

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

Observação Se seu aplicativo não incluir um arquivo App. config, é recomendável que você crie e implante um arquivo App. config que contém as informações no configSection.

Se a solução alternativa 1 não funcionar, tente solução 2.

Solução alternativa 2

Identifica um local no domínio de aplicativo que é executado antes de todos os objetos foram adicionados ao contexto da chamada lógica. Adicione código para forçar ConfigurationManager para tentar carregar uma seção que não existe em algum arquivo de configuração. Por exemplo:

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

Para obter mais informações sobre esse problema, consulte o artigo do GitHub atenuação: desserialização de objetos nos domínios de aplicativo.

Status


A Microsoft está investigando esse problema e fornecerá uma atualização em uma versão futura.