อาการ
หลังจากที่คุณติดตั้งสิงหาคมแสดงตัวอย่างของคุณภาพรวบรวมหรือปรับปรุง.NET Framework 11 กันยายน 2018สร้างอินสแตนซ์ของ SqlConnection สามารถอยู่นอกกระบวนข้อยกเว้น
การใช้ตัวสร้าง SqlConnection อาจทำให้การติดตามสแต็คที่คล้ายกับต่อไปนี้:
System.Runtime.Serialization.SerializationException ใน System.AppDomain.get_Evidence() ใน System.AppDomain.get_Evidence() ที่ System.Configuration.ClientConfigPaths.GetEvidenceInfo (appDomain AppDomain สตริ exePath สตริ & typeName) ที่ System.Configuration.ClientConfigPaths.GetTypeAndHashSuffix (AppDomain appDomain สตริ exePath) ใน System.Configuration.ClientConfigPaths ... ctor (สตริ exePath, includeUserConfig บูลีน) ใน System.Configuration.ClientConfigPaths.GetPaths (สตริ exePath, includeUserConfig บูลีน) ที่ System.Configuration.ClientConfigurationHost.RequireCompleteInit (IInternalConfigRecord คอร์ด) ใน System.Configuration.BaseConfigurationRecord.GetSectionRecursive (สตริ configKey, getLkg บูลีน checkPermission บูลีน บูลี getRuntimeObject, requestIsHere บูลีนวัตถุ & ผลลัพธ์ วัตถุ & resultRuntimeObject) ใน System.Configuration.BaseConfigurationRecord.GetSection (สตริ configKey) ใน System.Configuration.ConfigurationManager.GetSection (สตริ sectionName) ใน System.Data.SqlClient.SqlConnection ... cctor()
วิธีแก้ไขปัญหาชั่วคราว
วิธีแก้ปัญหา 1
เพิ่มบรรทัดต่อไปนี้ใน configSection ของแฟ้ม App.Config ของโปรแกรมประยุกต์:
<section name="SqlColumnEncryptionEnclaveProviders" type="System.Data.SqlClient.SqlColumnEncryptionEnclaveProviderConfigurationSection, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
หมายเหตุ ถ้าโปรแกรมประยุกต์ของคุณไม่มีแฟ้มที่มี app.config เราขอแนะนำให้ คุณสร้าง และปรับใช้เป็นแฟ้ม app.config ที่ประกอบด้วยรายละเอียดนี้ในการ configSection
หากวิธีแก้ปัญหา 1 ไม่ทำงาน ลอง 2 วิธีแก้ปัญหา
วิธีแก้ปัญหา 2
ระบุสถานที่ในโดเมนโปรแกรมประยุกต์ที่เรียกใช้ก่อนที่ได้เพิ่มวัตถุใด ๆ ให้บริบทโทรตรรกะ เพิ่มรหัสเพื่อบังคับให้ ConfigurationManager เพื่อพยายามโหลดส่วนที่ไม่มีอยู่ในแฟ้มการกำหนดค่าใด ๆ ตัวอย่างเช่น
System.Configuration.ConfigurationManager.GetSection("SectionNameThatDoesNotExistInAnyConfigurationFile");
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับปัญหานี้ให้ดูที่บทความ GitHubลด: ดีซีเรียลไลซ์วัตถุโดเมนโปรแกรมประยุกต์
สถานะ
Microsoft กำลังทำการวิจัยปัญหานี้ และจะให้มีการปรับปรุงในรุ่นกำลังมาถึง