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

อาการ

หลังจากที่คุณติดตั้งสิงหาคมแสดงตัวอย่างของคุณภาพรวบรวมหรือปรับปรุง.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 กำลังทำการวิจัยปัญหานี้ และจะให้มีการปรับปรุงในรุ่นกำลังมาถึง

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ

ชุมชนช่วยให้คุณถามและตอบคําถาม ให้คําติชม และรับฟังจากผู้เชี่ยวชาญที่มีความรู้มากมาย