ملاحظة
- تاريخ الإصدار:
31 يوليو 2020 - الإصدار:
.NET Framework 3.5 و4.8
يتضمن تحديث 31 يوليو 2020 للإصدار 2004 من Windows 10 تحسينات موثوقية تراكمية في .NET 3.5 و4.8. نوصيك بتطبيق هذا التحديث كجزء من إجراءات الصيانة المنتظمة. قبل تثبيت هذا التحديث، راجع المتطلبات الأساسية وأقسام متطلبات إعادة التشغيل .
تحسينات الجودة والموثوقية
| CLR1 | - أدى تغيير في .NET Framework 4.8 إلى تراجع بعض سيناريوهات EnterpriseServices حيث قد يتم التعامل مع كائن شقة أحادي الخيط على أنه شقة متعددة الخيوط ويؤدي إلى فشل الحظر. يحدد هذا التغيير الآن كائنات الشقق أحادية الخيط بشكل صحيح على هذا النحو ويتجنب هذا الفشل. - يعالج مشكلة في التجميعات تتعلق ببيانات ملف تعريف IBC التي تتسبب في تعطل عمليات عامل Ngen والعودة إلى الصور الأصلية الكاملة. - يعالج حالات التعطل النادرة التي قد تحدث أثناء تسليم إجهاض مؤشر الترابط. |
|---|---|
| SQL | - يمكن أن يتسبب SqlBulkCopy.WriteToServer في فشل المعاملات في جداول SQL في الذاكرة. قد يرى العميل استثناء مع الرسالة "انتهت مهلة التنفيذ. فترة المهلة التي انقضت قبل اكتمال العملية أو عدم استجابة الخادم." كان SqlBulkCopy.WriteToServer يرسل رمز تنبيه مميز (رسالة إلغاء) بعد إرسال البيانات إلى Sql Server، مما تسبب في قيام الخادم بإجهاض معاملة الجداول الموجودة في الذاكرة. |
| ASP.NET | - استخدم التجزئات المتوافقة مع FIPS في بيانات تتبع الاستخدام ASP.Net. - يعالج مشكلة حيث لم تكن القيمة "غير محدد" قيمة مسموح بها في التكوين للسمة "cookieSameSite" لأقسام مصادقة النماذج وتكوين حالة جلسة العمل. |
| WPF2 | - يعالج مشكلة عند تمكين التدقيق الإملائي في WPF TextBox أو RichTextBox، كلمات مثل "إلخ."، "على سبيل المثال." يتم تعريفها كأخطاء إملائية غير صحيحة. - يعالج مشكلة عندما تواجه بعض تطبيقات WPF Per-Monitor Aware التي يتم تشغيلها على NET 4.8. في بعض الأحيان تعطل مع exceptionSystem.ComponentModel.Win32Exception. - يعالج مشكلة إعادة انسياب TextBlock (يتخذ قرارات مختلفة لكسر الأسطر) أثناء العرض واختبار الضرب، مقابل أثناء القياس. تتضمن الأعراض النص المفقود، وتعطل FailFast أثناء معالجة النص البرمجي. - يعالج مشكلة تتعلق بفشل مؤشر ترابط العرض بسبب قطع اتصال HostVisual لهدفه على مؤشر الترابط الخاطئ. - يعالج مشكلة تعليق أثناء التمرير في TreeView التي تكون شجرتها غير موحدة، بمعنى أن أطفال عقدة معينة يتحكمون على الأشجار الفرعية التي تختلف أحجامها تماما. - يعالج مشكلة تتعلق بتعطل يمكن أن يحدث عند إغلاق تلميح أداة تم إغلاقه بشكل معاد الدخول بواسطة التعليمات البرمجية للمستخدم. - عندما يغادر HwndHost الشجرة المرئية ، يتم إنشاء تتبع مكدس. هذا مكلف وغير ضروري عادة. يتم الآن تغيير المنطق لإنشاء تتبع المكدس فقط عند حدوث الحالة الشاذة. - يعالج تسرب الذاكرة في System.Speech.SpeechSynthesizer. - يطرح أمر نسخ DataGrid استثناء إذا كانت حافظة النظام مؤمنة بواسطة عملية أخرى. يتعطل ذلك، حيث لا يوجد عادة رمز تطبيق على المكدس لالتقاط الاستثناء. سلوك TextBox (والتطبيقات الأخرى مثل المفكرة و Word والمتصفحات) في هذه الحالة هو الفشل بصمت - لا يتم نسخ أي شيء إلى الحافظة ، ولكن لا يوجد استثناء. يمكن لتطبيق WPF الآن الاشتراك في هذا السلوك عن طريق تعيين <appSettings><add key="ShouldThrowOnDataGridCopyOrCutFailure" value="false"/></appSettings>في ملف app.config الخاص به. - يعالج مشكلة في إنشاء النموذج الداخلي لمستند FixedPage. كان يظهر بعض النص بترتيب خاطئ لأغراض تحرير العمليات مثل التحديد والنسخ/اللصق. |
| WCF3 | - عند استخدام اسم مستخدم UPN Windows بتنسيق مشابه لخاصية username@dns.domain اسم المستخدم ل NetworkCredential عند استخدام NetTcpBinding أو NetNamedPipeBinding ، سيقوم WCF بتقسيم اسم المستخدم وdns.domain بشكل غير صحيح ووضعهما في خصائص اسم المستخدم والمجال. هذا غير صالح في بعض السيناريوهات وقد يؤدي إلى الفشل في المصادقة. يؤدي هذا الإصلاح إلى إزالة تعديل بيانات الاعتماد عند استخدام اسم مستخدم UPN. يمكن إعادة تمكين التعديل عن طريق تعيين AppSetting "wcf:enableLegacyUpnUsernameFix" إلى صواب. |
| مكتبات الشبكة | - يعالج تسرب الذاكرة في HttpListener. |
| Winforms | - يعالج مشكلة في DataGridView IsReadOnlyحالة إمكانية الوصول: يعلن "الراوي" و"أداة أخرى يمكن الوصول إليها" حالة الخلية للقراءة فقط وفقا لذلك. - يعالج تراجعا في .NET Framework 4.8 عندما تواجه التطبيقات التي تستخدم نوع الخلية DataGridView ComboBox وتختار الوصول من المستوى 3 تعطلا متقطعا أثناء تحرير الخلية. - يعالج مشكلة في ClickOnce RFC3161 رمز التحقق من الطابع الزمني. |
| تحسينات إمكانية وصول ذوي الاحتياجات الخاصة في Winforms | في هذا الإصدار، نضيف تحسينات جديدة لإمكانية وصول ذوي الاحتياجات الخاصة يمكن لتطبيقك الاشتراك فيها. يتم تعطيل هذه التغييرات بشكل افتراضي. يمكن للتطبيقات التي تشترك في ميزات إمكانية الوصول المقدمة في NET 4.8. والإصدارات السابقة، إضافة مفتاح التوافق التالي إلى ملف تكوين التطبيق:"Switch.UseLegacyAccessibilityFeatures.4=false"بشكل خاص، إذا كان أحد التطبيقات يستهدف .NET 4.8، فأضف مقطع AppContextSwitchOverrides التالي: <?xml version="1.0" encoding+"utf-8" ?> <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Versionv4.8"/> </startup> <runtime> <!-- AppContextSwitchOverrides value attribute is in the form of key1=true\|false;key2=true\|false --> <AppContextSwitchOverrides value="Switch.UseLegacyAccessibilityFeatures.4=false" /> </runtime> </configuration>إذا كان أحد التطبيقات يستهدف إصدارا سابقا من إطار العمل واشترك في مجموعات ميزات إمكانية وصول ذوي الاحتياجات الخاصة التي تم إصدارها سابقا، فأضف مفتاح تبديل واحد "Switch.UseLegacyAccessibilityFeatures.4=false" إلى القسم الموجود AppContextSwitchOverrides :<?xml version="1.0" encoding+"utf-8" ?> <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Versionv4.7"/> </startup> <runtime> <!-- AppContextSwitchOverrides value attribute is in the form of key1=true\|false;key2=true\|false --> <AppContextSwitchOverrides value="Switch.UseLegacyAccessibilityFeatures=false\|Switch.UseLegacyAccessibilityFeatures.2=false\|Switch.UseLegacyAccessibilityFeatures.3=false\|Switch.UseLegacyAccessibilityFeatures.4=false"/> </runtime> </configuration>تحسينات إمكانية وصول ذوي الاحتياجات الخاصة في WinForms المضمنة في هذا الإصدار هي:- يعالج مشكلة تتعلق بالإعلان عن عناصر عنصر تحكم PropertyGrid وفئاتها التي تم توسيعها/طيها بواسطة برامج قراءة الشاشة. - تم تحديث الأنماط التي يمكن الوصول إليها لعنصر تحكم شبكة الخاصية وعناصرها الداخلية. - تم تحديث الأسماء التي يمكن الوصول إليها للعناصر الداخلية لعنصر تحكم شبكة الخصائص للإعلان عنها بشكل صحيح بواسطة قارئ الشاشة. - يعالج الخصائص التي يمكن الوصول إليها للمستطيل المحيط لعناصر تحكم PropertyGridView - يمكن قارئات الشاشة من إعلان حالة توسيع/طي خلية DataGridView ComboBox بشكل صحيح. |
1 وقت تشغيل اللغة العامة (CLR)
2 Windows Presentation Foundation (WPF)
3 Windows Communication Foundation
المشكلات المعروفة في هذا التحديث
تطبيقات Windows Presentation Framework (WPF) التي تستخدم عنصرين أو أكثر من عناصر HostVisual التي تنتمي إلى مؤشر ترابط مشترك، حيث تتم مطالبة عنصري HostVisual بقطع الاتصال عن هدفها المرئي في نفس الوقت تقريبا، يفشل البريد مع الخطأ التالي:
نوع الاستثناء: System.COMException
الرسالة: UCEERR_RENDERTHREADFAILURE (HRESULT 0x88980406)
مكدس الاستدعاءات: الإطار العلوي هو System.Windows.Media.Composition.DUCE+Channel.SyncFlush()
الحلول البديلة
يمكنك تعطيل إصلاح المشكلة عن طريق تعيين مبدل AppContext "Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread" إلى صواب، باستخدام إحدى الطرق الموضحة هنا. يؤدي هذا إلى تعريض تطبيقك للخطأ الأصلي، وبالتالي يجب عليك إزالة المفتاح بمجرد نشر إصلاح من خلال تحديث قادم.
الحل البديل 1
• أضف الإدخال التالي إلى ملف app.config لتعطيل إصلاح المشكلة في تطبيق واحد.
<runtime>
<AppContextSwitchOverrides value="Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread=true"/>
</وقت التشغيل>
لاحظ أنه إذا كان تكوين التطبيق يحتوي بالفعل على إدخال ل <AppContextSwitchOverrides>، فستحتاج إلى إضافة الإعداد الجديد ضمن هذا الإدخال، منفصلا عن رموز التبديل الأخرى بواسطة فاصلة منقوطة:
<AppContextSwitchOverrides value="Switch.SomeOtherSwitch=true; Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread=true"/>
الحل البديل 2
• قم بتطبيق مفتاح التسجيل الفرعي التالي لتعطيل الإصلاح المشكلات لجميع تطبيقات WPF على الجهاز.
تحذير
قد تحدث مشاكل خطيرة إذا قمت بتعديل السجل بشكل غير صحيح باستخدام "محرر السجل" أو باستخدام أسلوب آخر. وقد تتطلب هذه المشاكل إعادة تثبيت نظام التشغيل. لا تضمن Microsoft حل هذه المشاكل. قم بتعديل السجل على مسؤوليتك الخاصة.
مكان الاقامه HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\AppContext\
الاسم: Switch.System.Media.HostVisual.DisconnectsOnWrongThread
النوع: سلسلة
القيمة: true
لاحظ أنه على أنظمة التشغيل 64 بت، ستحتاج أيضا إلى تطبيق مفتاح فرعي للتسجيل بنفس الاسم والنوع والقيمة في الموقع: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\.NETFramework\AppContext\
الدقة
نحن نعمل على حل وسنوفر تحديثا في إصدار قادم.
كيفية الحصول على التحديث وتثبيته
تثبيت هذا التحديث
| قناة الإصدار | متوفر | الخطوة التالية |
|---|---|---|
| Windows Update وMicrosoft Update | نعم | لتنزيل هذا التحديث وتثبيته، انتقل إلى الإعدادات>Update & Security>Windows Update، ثم حدد التحقق من وجود تحديثات. |
| كتالوج Microsoft Update | نعم | للحصول على الحزمة المستقلة لهذا التحديث، انتقل إلى موقع ويب كتالوج Microsoft Update. |
| خادم Windows Server Update Services (WSUS) | لا | يمكنك استيراد هذا التحديث إلى خادم WSUS يدويًا. راجع كتالوج Microsoft Update للحصول على الإرشادات. |
معلومات الملف
للحصول على قائمة بالملفات المقدمة في هذا التحديث، نزل معلومات الملفات للتحديث التراكمي.
المتطلبات الأساسية
لتطبيق هذا التحديث، يجب أن يكون .NET Framework 3.5 أو 4.8 مثبتا لديك.
متطلب إعادة التشغيل
يجب إعادة تشغيل الكمبيوتر بعد تطبيق هذا التحديث إذا تم استخدام أي ملفات متأثرة. نوصيك بإنهاء جميع التطبيقات المستندة إلى .NET Framework قبل تطبيق هذا التحديث.
كيفية الحصول على المساعدة والدعم لهذا التحديث
- تعليمات حول تثبيت التحديثات: الأسئلة المتداولة حول Windows Update
- حماية نفسك عبر الإنترنت وفي المنزل: دعم أمن Windows
- الدعم المحلي وفقا لبلدك/منطقتك/منطقتك: الدعم الدولي