Applies To.NET Framework 4.6.2 .NET Framework 4.6.1 .NET Framework 4.6 .NET Framework 4.7 .NET Framework 4.7.1 .NET Framework 4.7.2

Symptom

När du har installerat Kvalitet samlade augusti förhandsgranskning eller den 11 September 2018.NET Framework uppdaterakan instansiering av SqlConnection utlösa ett undantag.

Användning av en SqlConnection-konstruktorn kan leda till en stackspårning som liknar följande:

System.Runtime.Serialization.SerializationException    vid System.AppDomain.get_Evidence()    vid System.AppDomain.get_Evidence()    vid System.Configuration.ClientConfigPaths.GetEvidenceInfo (AppDomain appDomain, sträng exePath, sträng & typeName)    vid System.Configuration.ClientConfigPaths.GetTypeAndHashSuffix (AppDomain appDomain, sträng exePath)    vid System.Configuration.ClientConfigPaths... ctor (String exePath, booleska includeUserConfig)    vid System.Configuration.ClientConfigPaths.GetPaths (String exePath, booleska includeUserConfig)    vid System.Configuration.ClientConfigurationHost.RequireCompleteInit (IInternalConfigRecord-post)    vid System.Configuration.BaseConfigurationRecord.GetSectionRecursive (String configKey, booleska getLkg, booleska checkPermission, booleska getRuntimeObject, booleska requestIsHere objekt & resultat, objekt & resultRuntimeObject)    vid System.Configuration.BaseConfigurationRecord.GetSection (String configKey)    vid System.Configuration.ConfigurationManager.GetSection (String sectionName)    vid System.Data.SqlClient.SqlConnection... cctor()

Lösning

Lösning 1

Lägg till följande rader i configSection i filen App.Config av programmet:

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

Obs! Om programmet inte innehåller en filen app.config, rekommenderar vi att du skapar och distribuerar en app.config-fil som innehåller informationen i configSection.

Om lösning 1 inte fungerar provar du lösning 2.

Lösning 2

Identifiera en plats i programdomänen som körs innan alla objekt har lagts till kontexten logiska samtal. Lägg till kod om du vill tvinga ConfigurationManager försöker ladda ett avsnitt som inte finns i konfigurationsfiler. Till exempel:

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

Mer information om problemet finns i artikeln GitHub riskreducerande: deserialisering av objekt mellan domäner app.

Status

Microsoft undersöker problemet och kommer att tillhandahålla en uppdatering i en kommande version.

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.

Communities hjälper dig att ställa och svara på frågor, ge feedback och få råd från experter med rika kunskaper.