Pengecualian Instansiasi SqlConnection .NET 4.6 dan kemudian setelah pemutakhiran Agustus-September 2018 .NET Framework

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?

Kembangkan keterampilan Anda
Jelajahi pelatihan
Dapatkan fitur baru terlebih dahulu
Gabung Microsoft Insider

Apakah informasi ini bermanfaat?

Terima kasih atas umpan balik Anda!

Terima kasih atas umpan balik Anda! Sepertinya menghubungkan Anda ke salah satu agen dukungan Office kami akan sangat membantu.

×