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

Gejala

Setelah Anda memasang Pratinjau Agustus kualitas Batal atau 11 September 2018 pemutakhiran .NET Framework, Instansiasi SqlConnection dapat membuang pengecualian.

Penggunaan konstruktor SqlConnection dapat menyebabkan jejak tumpukan yang menyerupai berikut ini:

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

Penyelesaian Masalah

Pemecahan masalah 1

Tambahkan baris berikut pada configSection berkas App.Config aplikasi:

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

Catatan Jika aplikasi tidak menyertakan berkas app.config, kami sarankan Anda membuat dan menyebarkan app.config berkas yang berisi informasi ini di configSection.

Jika penyelesaian masalah 1 tidak berhasil, cobalah penyelesaian masalah 2.

Penyelesaian masalah 2

Mengidentifikasi tempat di domain aplikasi yang berjalan sebelum objek apa pun telah ditambahkan dalam konteks panggilan logis. Menambahkan kode untuk memaksa ConfigurationManager untuk mencoba untuk memuat bagian yang tidak ada di berkas konfigurasi apa pun. Misalnya:

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

Untuk informasi selengkapnya tentang masalah ini, lihat artikel GitHub mitigasi: Deserialization objek aplikasi domain.

Status

Microsoft menyelidiki masalah ini dan akan memberikan pembaruan pada peluncuran mendatang.

Perlu bantuan lainnya?

Ingin opsi lainnya?

Jelajahi manfaat langganan, telusuri kursus pelatihan, pelajari cara mengamankan perangkat Anda, dan banyak lagi.

Komunitas membantu Anda bertanya dan menjawab pertanyaan, memberikan umpan balik, dan mendengar dari para ahli yang memiliki pengetahuan yang luas.