SqlConnection-Instanziierungsausnahme für .NET 4.6 und später nach .NET Framework-Updates vom August-September 2018

Gilt für: .NET Framework 4.6.NET Framework 4.6.1.NET Framework 4.6.2

Problembeschreibung


Nach der Installation von August Vorschau der Qualität Rollup oder 11 September 2018.NET Framework aktualisierenkann SqlConnection Instanziierung eine Ausnahme auslösen.

Wie ein SqlConnection-Konstruktor führt zu einem Stack Trace, die der folgenden ähnelt:

Problemumgehung


Problemumgehung 1

Fügen Sie folgende Zeilen in der ConfigSection der App.Config-Datei der Anwendung:

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

Hinweis Wenn Ihre Anwendung eine app.config-Datei enthält, wird empfohlen, erstellen und Bereitstellen eine App, die diese Informationen in der ConfigSection.

Wenn Lösung 1 nicht funktioniert, versuchen Sie Abhilfe 2.

Problemumgehung 2

Identifizieren Sie eine Stelle in der Anwendungsdomäne ausgeführt wird, bevor der logischen Aufrufkontext Objekte hinzugefügt wurden. Fügen Sie Code zum Erzwingen ConfigurationManager versuchen, einen Abschnitt zu laden, der in Konfigurationsdateien vorhanden ist. Zum Beispiel:

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

Weitere Informationen zu diesem Problem finden Sie im Artikel GitHub zur Risikominderung: Deserialisierung Objekte in Anwendungsdomänen.

Status


Microsoft werden untersucht dieses Problem und ein Update in einer zukünftigen Version.