Wyjątek podczas tworzenia wystąpienia SqlConnection na .NET 4.6, a później po aktualizacji w sierpniu i wrześniu 2018.NET Framework

Symptomy

Po zainstalowaniu Sierpnia Podgląd jakości z pakietu zbiorczego lub zaktualizować.NET Framework 11 września 2018wystąpienia SqlConnection można zgłosić wyjątek.

Korzystanie z konstruktora SqlConnection może prowadzić do śledzenia stosu, podobny do następującego:

System.Runtime.Serialization.SerializationException    o System.AppDomain.get_Evidence()    o System.AppDomain.get_Evidence()    w System.Configuration.ClientConfigPaths.GetEvidenceInfo (appDomain AppDomain, exePath ciąg, ciąg & typeName)    w System.Configuration.ClientConfigPaths.GetTypeAndHashSuffix (AppDomain appDomain, ciąg exePath)    w System.Configuration.ClientConfigPaths... Konstruktor (String exePath, Boolean includeUserConfig)    w System.Configuration.ClientConfigPaths.GetPaths (String exePath, Boolean includeUserConfig)    w System.Configuration.ClientConfigurationHost.RequireCompleteInit (zapis IInternalConfigRecord)    w System.Configuration.BaseConfigurationRecord.GetSectionRecursive (String, configKey, getLkg typu Boolean, Boolean checkPermission, Boolean getRuntimeObject, requestIsHere typu Boolean, obiekt i wynik, obiekt & resultRuntimeObject)    w System.Configuration.BaseConfigurationRecord.GetSection (ciąg configKey)    w System.Configuration.ConfigurationManager.GetSection (sectionName ciąg)    w System.Data.SqlClient.SqlConnection... cctor()

Obejście

Obejście 1

W configSection pliku App.Config aplikacji, należy dodać następujące wiersze:

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

Uwaga: Jeśli aplikacji nie zawiera pliku app.config, firma Microsoft zaleca tworzenie i wdrażanie pliku app.config, który zawiera te informacje w configSection.

Jeśli 1 obejście nie działa, spróbuj skorzystać z rozwiązania 2.

Obejście 2

Określ miejsce w domenie aplikacji, uruchamiany przed wszystkie obiekty zostały dodane do kontekstu logiczne połączenie. Dodaj kod, aby zmusić ConfigurationManager aby spróbować załadować sekcji, która nie istnieje w żadnych plików konfiguracji. Na przykład:

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

Aby uzyskać więcej informacji dotyczących tego problemu, zobacz artykuł GitHub łagodzenia: deserializacji obiektów między domenami aplikacji.

Stan

Firma Microsoft bada ten problem i zapewni aktualizację w przyszłej wersji.

Potrzebna dalsza pomoc?

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów firmy Microsoft

Czy te informacje były pomocne?

Dziękujemy za opinię!

Dziękujemy za opinię! Wygląda na to, że połączenie Cię z jednym z naszych agentów pomocy technicznej pakietu Office może być pomocne.

×