ملاحظة
- تاريخ الإصدار:
31 يوليو 2020 - الإصدار:
.NET Framework 3.5 و4.8
يتضمن تحديث 31 يوليو 2020 للإصدار Windows 10 2004 تحسينات الموثوقية التراكمية في .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 التي تعمل على .NET 4.8 أحيانا تعطلا مع استثناءSystem.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 بشكل غير صحيح لوضعهما في خصائص UserName و Domain. هذا غير صحيح في بعض السيناريوهات وقد يؤدي إلى فشل المصادقة. يزيل هذا الإصلاح تعديل بيانات الاعتماد عند استخدام اسم مستخدم UPN. يمكن إعادة تمكين التعديل عن طريق تعيين AppSetting "wcf:enableLegacyUpnUsernameFix" إلى true. |
| Net Libraries | - يعالج تسرب الذاكرة في HttpListener. |
| نماذج Winforms | - يعالج مشكلة في حالة DataGridView IsReadOnlyaccessibility: يذكر "الراوي" وأداة أخرى يمكن الوصول إليها حالة الخلية للقراءة فقط وفقا لذلك. - يعالج الانحدار في .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)
Callstack: الإطار العلوي هو System.Windows.Media.Composition.DUCE+Channel.SyncFlush()
الحلول
يمكنك تعطيل الإصلاح الإشكالي عن طريق تعيين مفتاح AppContext "Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread" إلى true، باستخدام إحدى الطرق الموضحة هنا. يعرض هذا تطبيقك للخطأ الأصلي، لذلك يجب إزالة المفتاح بمجرد نشر الإصلاح من خلال تحديث قادم.
الحل البديل 1
• أضف الإدخال التالي إلى ملف app.config لتعطيل الإصلاح الإشكالي في تطبيق واحد.
<runtime>
<قيمة AppContextSwitchOverrides="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
النوع: سلسلة
القيمة: صحيح
لاحظ أنه في أنظمة التشغيل 64 بت، تحتاج أيضا إلى تطبيق مفتاح فرعي للسجل بنفس الاسم والنوع والقيمة في الموقع: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\.NETFramework\AppContext\
الدقة
نحن نعمل على حل وسنوفر تحديثا في إصدار قادم.
كيفية الحصول على التحديث وتثبيته
تثبيت هذا التحديث
| قناة الإصدار | متوفر | الخطوة التالية |
|---|---|---|
| Windows Update وMicrosoft Update | نعم | لتنزيل هذا التحديث وتثبيته، انتقل إلى الإعدادات>تحديث & الأمان>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 الدعم
- الدعم المحلي وفقا لبلدك: الدعم الدولي