مجموعة تحديثات الإصلاح العاجل 2996568 ل.NET Framework 4، 5 و 4.5.1 و 4.5.2 على فيستا SP2 أو Windows Server 2008 SP2، ويندوز 7 SP1 أو Windows Server 2008 R2 SP1

مقدمة

توضح هذه المقالة مجموعة تحديثات الإصلاح العاجل 2996568 المتوفرة لبرنامج Microsoft.NET Framework 4، 5 و 4.5.1 من.NET Framework.NET Framework 4.5.2. لمزيد من المعلومات حول المشكلات التي يحل الإصلاح العاجل التراكمي، راجع قسم "مزيد من المعلومات".

يتوفر هذا الإصلاح العاجل التراكمي لأنظمة التشغيل التالية:

  • Windows Server 2008 R2 SP1

  • Windows 7 SP1

  • حزمة الخدمة SP2 ل Windows Server 2008

  • ويندوز فيستا SP2


الحل

الآن يتوفر إصلاح عاجل معتمد من Microsoft. ومع ذلك، الغرض منه هو حل المشكلة الموضحة في هذه المقالة فقط. تطبيقها فقط على الأنظمة التي تواجه هذه المشكلة بالتحديد.

لحل هذه المشكلة، اتصل بخدمات دعم العملاء في Microsoft للحصول على الإصلاح العاجل. للحصول على قائمة كاملة من أرقام هواتف خدمات دعم العملاء في Microsoft وعلى معلومات حول تكاليف الدعم، الرجاء زيارة موقع Microsoft التالي على الويب:

http://support.microsoft.com/contactus/?ws=supportملاحظة: في بعض الحالات، قد يتم إلغاء المصروفات التي تحتسب عادة على مكالمات الدعم إذا قرر أخصائي الدعم لدى Microsoft أن تحديثًا معيناً سوف يعمل على حل المشكلة. سيتم اضافة تكاليف الدعم المعتادة على أسئلة الدعم الإضافية والمشاكل التي لا يأهل على حلها للتحديث المطلوب.

مزيد من المعلومات

المتطلبات الأساسية

لتطبيق هذا الإصلاح العاجل، يجب أن يكون لديك 4.5 إطار عمل.NET أو.NET Framework 4.5.1 4.5.2 تثبيت.NET Framework.

متطلبات إعادة التشغيل

يجب عليك إعادة تشغيل الكمبيوتر بعد تطبيق هذا الإصلاح العاجل في حالة استخدام أي الملفات المتأثرة. نوصي بإغلاق كافة التطبيقات المستندة إلى NET Framework قبل تثبيت هذا الإصلاح الجديد.

معلومات استبدال الإصلاح العاجل

لا يستبدل حزمة الإصلاحات الجديدة هذه حزمة الإصلاحات الجديدة التي تم إصدارها مسبقاً.


















المشكلات التي يحل هذا الإصلاح العاجل التراكمي

المشكلة الأولى

يحل هذا الإصلاح ترابط المسألتين التاليتين في System.IO.Packaging عند استخدام 4.5 إطار عمل.NET أو.NET Framework 4.5.1 4.5.2 من.NET Framework.

  • قد تحدث حالة توقف تام عند استخدام حزم كبيرة على مؤشرات ترابط منفصلة. يستخدم System.IO.Packaging إيسولاتيدستوراجي للحزم التي يزيد حجمها عن 10 ميغابايت (MB). عندما مؤشري ترابط أو أكثر باستخدام حزم كبير، قد تحدث حالة توقف تام، حتى إذا كانت الحزم المستقلة. تتضمن حالة التوقف التام مؤشري الترابط. ينتظر أحد في IsolatedStorageFile.Lock أثناء آخر ينتظر في أسلوب آخر من فئة إيسولواتيدستوراجيفيلي . تم إصلاح هذه المشكلة عن طريق إضافة المزامنة إلى System.IO.Packaging لتجنب المشكلة في IsolatedStorageFile.

  • قد تحدث استثناءات عند استرداد باكاجيبروبيرتيس من الحزم التي تم فتحها على مؤشرات ترابط منفصلة، حتى إذا كانت الحزم المستقلة. مكدسات الاستدعاءات الأكثر شيوعاً التي تنشأ عن ذلك ما يلي:System.Xml.XmlException: Unrecognized root element in Core Properties part. Line 2, position 2. atMS.Internal.IO.Packaging.PartBasedPackageProperties.ParseCorePropertyPart(PackagePart part) at
    System.IO.Packaging.Package.get_PackageProperties()
    System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. Parameter name: id atMS.Internal.IO.Packaging.PartBasedPackageProperties.ParseCorePropertyPart(PackagePart part) at
    System.IO.Packaging.Package.get_PackageProperties()
    هذه المشكلة يحدث بسبب التنازع على مورد مشترك داخلية وحلها عن طريق إعطاء كل حزمة نسخة من ذلك المورد.


المشكلة الثانية

استخدام تطبيق أساس العرض تقديمي ل Windows (WPF) قدرا كبيرا من الذاكرة عندما يتلقى العديد من طلبات الخدمة أوياوتوميشن . ينتمي الذاكرة للكائنات من مساحة الاسم System.Threading . يتضمن ذلك System.Threading.CancellationTokenSource، System.Threading.TimerQueueTimer، System.Threading.Timer، والعديد من الفئات الأخرى ذات الصلة.

هذه هي الكائنات التي تم تخصيصها باسم برنامج الأغذية العالمي عند WPF طلبا للنشاط أوياوتوميشن . في نهاية المطاف إصدارها حتى انتهاء مهلة الموعد النهائي للطلب (عادة ثلاث دقائق). في حالة وصول الطلبات بسرعة، التطبيق يبدو أن تسرب الذاكرة، أو استخدام ذاكرة أكثر من ما معقول (قدر 500 ميغا بايت).

يتم حل هذه المشكلة عن طريق الإفراج عن الكائنات عند إكمال الطلب، بدلاً من انتظار موعد انتهاء المهلة.

المشكلة الثالثة

في تطبيق WPF، عندما تقوم بإدخال نص باستخدام الكورية الإدخال أسلوب محرر (IME)، خاصية النص مربع تحرير وسرد للتحرير لم يتغير بشكل صحيح في بعض الحالات.

قد تحدث هذه المشكلة أعراض مختلفة، ويعتمد ذلك على كيفية التطبيق (أو كاتب عنصر التحكم) تكوين مربع تحرير وسرد. على سبيل المثال:

  • بعد كتابة وعلامة التبويب بعيد (أو نقل التركيز إلى عنصر تحكم آخر)، يعود النص المعروض من مربع تحرير وسرد سلسلة فارغة، أو إلى قيمة ما قبل كتابة.

  • سلوك ميزة تيكستسيارتش في مربع تحرير وسرد بشكل غير صحيح. لا يتطابق مع البادئة التي تم إدخالها، أو أنه يطابق عنصر غير ذات صلة.

يتم حل هذه المشكلة عن طريق تعديل المنطق لتتوافق مع توقيت IME الكوري يختلف قليلاً عن محررات أسلوب الإدخال الأخرى.

المسألة 4

بعد استخدام لمس لتنفيذ عملية السحب والإفلات في تطبيق WPF، يتم تجاهل إيماءة اللمس التالي.

يتم حل هذه المشكلة عن طريق استعادة الحالة الداخلية لمعالج إدخال اللمس عند إتمام عملية السحب والإفلات. وبهذه الطريقة، فإنه يحسب موضع إيماءة اللمس التالية بشكل صحيح.

المسألة 5

يمكن تمكين تطبيق أوثينتيكاتيونماناجير جديدة كسب كبير في الأداء عند العمل مع مخصص إيوثينتيكاتيونمودوليسبشكل اختياري.

ملاحظة: تظهر مخاطر أمنية كبيرة إذا كانت التعليمات البرمجية لا يهدف إلى أن يكون مؤشر الترابط-الأمن. تغيير سلوك رئيسي يقع على أساليب مصادقة و PreAuthenticate . سابقا كان مضمون في تنفيذ التعليمات البرمجية التسلسل (تم قفل عمومي). في تطبيق جديد، لا تأمين، ورمز العميل يجب أن تضمن أمان مؤشر الترابط.
بالإضافة إلى ذلك، باستخدام تطبيق جديد، يمكن التحكم حجم ذاكرة التخزين المؤقت بريفيكسلوكوب من خلال التسجيل.

يمكن استخدام مفاتيح التسجيل التالية لتمكين وتكوين الحد الأقصى لطول بريفيكسلوكوب:

  • تكوين عمومي[HKEY_LOCAL_MACHINE\SOFTWARE[\Wow6432Node]\Microsoft\.NETFramework\v4.0.30319]"System.Net.AuthenticationManager.HighPerformance"=dword:00000001
    "System.Net.AuthenticationManager.PrefixLookupMaxCount"=dword:00010000

  • تكوين التطبيق المحلي[HKEY_LOCAL_MACHINE\SOFTWARE[\Wow6432Node]\Microsoft\.NETFramework\v4.0.30319\System.Net.AuthenticationManager.HighPerformance]"c:\myapp\myapp.exe"=dword:00000001
    [HKEY_LOCAL_MACHINE\SOFTWARE[\Wow6432Node]\Microsoft\.NETFramework\v4.0.30319\System.Net.AuthenticationManager.PrefixLookupMaxCount]
    "c:\myapp\myapp.exe"=dword:00010000

إعدادات عمومية الأسبقية على إعدادات التطبيق المحلي. يمكن خلط إعدادات التطبيق العالمي والمحلي. بريفيكسلوكوبماكسكونت لن تتأثر إذا تم تعيين إعداد HighPerformance التطبيق العمومية أو المحلية ل DWORD 1.

المسألة 6

افترض أن تقوم بتشغيل تطبيق يستند إلى.NET Framework 4.5.2 أو.NET Framework 4.5.1 4.5 إطار عمل.NET. التطبيق يطرح استثناء في أسلوب مدارة التي تم استدعاؤها من تعليمات برمجية أصلية وتم واجهة COM التي تم تمريرها حسب المرجع. في هذه الحالة، قد تعطل التطبيق.

على سبيل المثال: تطبيق مكتوب في VB6 استدعاء DLL C#. إذا كان التطبيق و DLL يتم تحويلها برمجياً في وضع الإصدار، عند طرح استثناء في تعليمات برمجية C#، يحدث خرق في وصول وتعطل التطبيق.

المسألة 7

عندما يختار المشاريع المستندة إلى XAML سير العمل وقتاً أطول من مدة التأجير الافتراضي (خمس دقائق) للكائنات البعيدة التي يتم تعريفها بالمهام لإنشاء XAML، تتلقى رسالة خطأ مشابهة لما يلي:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Xaml.targets(193,5): خطأ XC1000: XC1020: حدث خطأ بناء في مهام XAML MSBuild: 'الكائن'/cc8d6dcf_823f_4ce0_aaad_fb1d3f85e42b/mzr1is8dfgy6yqtpnhegu6pt_4.rem 'تم قطع الاتصال أو أنه غير موجود على الملقم."

بعد تثبيت هذا الإصلاح الجديد، يمكنك تحديد مدة التأجير الخاصة بك (بالدقائق) بتعريف متغير بيئة يسمى إكساملبويلدتاسكريموتينجليسيليفيتيمينمينوتيس.

لتعيين متغيرات البيئة في ملف مشروع ل MSBuild، يجب عليك تضمين المعلومات التالية في ملف المشروع:<Project ...> <UsingTask TaskName="MySetEnv" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll" >
<ParameterGroup>
<Name Required="true" />
<Value Required="false" />
</ParameterGroup>
<Task>
<Code Type="Fragment" Language="cs">System.Environment.SetEnvironmentVariable(Name, Value);</Code>
</Task>
</UsingTask>
...
...
<Target Name="BeforeBuild">
<MySetEnv Name="XamlBuildTaskRemotingLeaseLifetimeInMinutes" Value="1440" />
</Target>
<Target Name="AfterBuild">
<MySetEnv Name="XamlBuildTaskRemotingLeaseLifetimeInMinutes" Value="" />
</Target>
</Project>
هو اسم المهمة في هذا المثال ميسيتينف. يمكن تعيين أي سلسلة صالحة لأسماء المهام. هذا المثال تعيين مدة تأجير إلى 1440 دقيقة (يوم واحد) قبل بناء المشروع ويقوم بتعيينها إلى قيمة خالية بعد الإنشاء. إذا كان هناك عدة مشاريع يتطلب تمديد مدة التأجير، يحتاج كل مشروع هذا التكوين.

المسألة 8

عند استخدام AJAX إعادة النشر في صفحة، في بعض الأحيان يتم توجيه إعادة النشر إلى URL آخر. يمكنك الحصول على ريديريكتلوكيشن في هتبمودولي إلى HttpContext.Items["System.Web.UI.PageRequestManager:AsyncPostBackRedirectLocation"].

هل تحتاج إلى مزيد من المساعدة؟

توسيع المهارات
استكشاف التدريب
الحصول على الميزات الجديدة أولاً
الانضمام إلى Microsoft Insider

هل كانت المعلومات مفيدة؟

نشكرك على ملاحظاتك!

شكراً لك على الملاحظات! يبدو أنه من المفيد إيصالك بأحد وكلاء دعم Office لدينا.

×