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

Simptome

După ce instalați August Preview de calitate set sau 11 septembrie 2018, actualizarea .NET Framework, instanţierea de SqlConnection poate throw o excepție.

Utilizarea unui constructor SqlConnection poate duce la o stivei care seamănă cu următorul:

System.Runtime.Serialization.SerializationException    la System.AppDomain.get_Evidence()    la System.AppDomain.get_Evidence()    la System.Configuration.ClientConfigPaths.GetEvidenceInfo (AppDomain appDomain, String exePath, String & typeName)    la System.Configuration.ClientConfigPaths.GetTypeAndHashSuffix (AppDomain appDomain, String exePath)    la System.Configuration.ClientConfigPaths... ctor (String exePath, Boolean includeUserConfig)    la System.Configuration.ClientConfigPaths.GetPaths (String exePath, Boolean includeUserConfig)    la System.Configuration.ClientConfigurationHost.RequireCompleteInit (IInternalConfigRecord înregistrare)    la System.Configuration.BaseConfigurationRecord.GetSectionRecursive (String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, rezultate, & obiect obiect & resultRuntimeObject)    la System.Configuration.BaseConfigurationRecord.GetSection (String configKey)    la System.Configuration.ConfigurationManager.GetSection (String sectionName)    la System.Data.SqlClient.SqlConnection... cctor()

Soluție de evitare

Soluție 1

Adăugați următoarele linii în configSection fișierului App.Config aplicației:

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

Notă Dacă aplicația nu include un fișier app.config, se recomandă să creați și să implementați un fișier app.config care conține aceste informații în configSection.

Dacă soluția 1 nu funcționează, încercați soluția 2.

Soluție 2

Identificaţi un loc în domeniul de aplicații care se execută înainte de orice obiecte au fost adăugate la contextul logic apel. Adăugați cod pentru a impune ConfigurationManager pentru a încerca să încarce o secțiune care nu există în orice fișiere de configurare. De exemplu:

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

Pentru mai multe informații despre această problemă, consultați articolul GitHub afluxului: Deserialization de obiecte în domenii app.

Stare

Microsoft cercetează această problemă și va furniza o actualizare într-o versiune viitoare.

Aveți nevoie de ajutor suplimentar?

Doriți mai multe opțiuni?

Explorați avantajele abonamentului, navigați prin cursurile de instruire, aflați cum să vă securizați dispozitivul și multe altele.

Comunitățile vă ajută să adresați întrebări și să răspundeți la întrebări, să oferiți feedback și să primiți feedback de la experți cu cunoștințe bogate.