Отнася се за
.NET Framework 3.5 Service Pack 1

Симптоми

Обмислете следния сценарий:

  • Изпълнявате приложение, базирано на Microsoft .NET Framework 3.5 Service Pack 1 (SP1) Windows Presentation Foundation (WPF).

  • Приложението WPF използва канала за рендиране на хардуера.

  • Приложението зарежда и изключва много домейни на приложения, които съдържат един или повече персонализирани WPF компоненти на добавката.

В този случай приложението се натъква на изключение System.Runtime.InteropServices.COMException и приложението се срива.

Решение

Информация за гореща поправка

Поддържана актуална корекция е налична от Microsoft. Въпреки това тази актуална корекция е предназначена да коригира само проблема, описан в тази статия. Приложете тази актуална корекция само за системи, които изпитват този конкретен проблем. Тази актуална корекция може да получи допълнително тестване. Следователно, ако не сте сериозно засегнати от този проблем, препоръчваме да изчакате следващата актуализация на софтуера, която съдържа тази актуална корекция. За да изтеглите тази актуална корекция от MSDN код галерия, посетете следния уеб сайт на Microsoft:

http://code.msdn.microsoft.com/KB2276690Забележка: MsDN код галерия показва езиците, за които е налична актуалната корекция. Ако не виждате вашия език в списъка, причината е, че ресурсната страница на кодовата галерия не е налична за този език. Забележка Ако възникнат допълнителни проблеми или ако е необходимо отстраняване на неизправности, може да се наложи да създадете отделна заявка за обслужване. Обичайните разходи за поддръжка ще се прилагат за допълнителни въпроси за поддръжка и проблеми, които не отговарят на условията за тази конкретна актуална корекция. За пълен списък на телефонните номера за обслужване на клиенти и поддръжка на Microsoft или за създаване на отделна заявка за обслужване посетете следния уеб сайт на Microsoft:

http://support.microsoft.com/contactus/?ws=support

Предпоставки

За да приложите тази актуална корекция, трябва да имате инсталиран .NET Framework 3.5 Service Pack 1 (SP1). 

Изискване за рестартиране

Не е необходимо да рестартирате компютъра, след като приложите тази актуална корекция.

Информация за замяна на гореща поправка

Тази актуална корекция не замества други горещи поправки.

Информация за файла

Английската версия на тази актуална корекция има файлови атрибути (или по-нови файлови атрибути), които са изброени в таблицата по-долу. Датите и часовете за тези файлове са изброени в координирано световно време (UTC). Когато преглеждате информацията за файла, тя се конвертира в локално време. За да намерите разликата между UTC и локалното време, използвайте раздела Часова зона в елемента Дата и час в контролния панел.

За всички поддържани базирани на x86 версии на Windows Server 2003 и Windows XP

Име на файл

Версия на файл

Размер на файла

Дата

Час

Платформа

Presentationcore.dll

3.0.6920.4033

4,218,880

02 септември 2010 г.

01:32

x86

Presentationframework.dll

3.0.6920.4033

5,279,744

02 септември 2010 г.

01:28

x86

Presentationhost.exe

4.0.40305.0

295,264

02 септември 2010 г.

01:28

x86

Presentationhostdll.dll

3.0.6920.4033

130,408

02 септември 2010 г.

01:32

x86

Presentationhostproxy.dll

4.0.31106.0

99,176

02 септември 2010 г.

01:32

x86

Windowsbase.dll

3.0.6920.4033

1,249,280

02 септември 2010 г.

01:32

x86

За всички поддържани базирани на x64 версии на Windows Server 2003 и Windows XP

Име на файл

Версия на файл

Размер на файла

Дата

Час

Платформа

Presentationcore.dll

3.0.6920.4033

3,997,696

02 септември 2010 г.

00:53

x64

Presentationframework.dll

3.0.6920.4033

4,636,672

02 септември 2010 г.

00:48

x64

Presentationhost.exe

4.0.31106.0

320,352

02 септември 2010 г.

00:48

x64

Presentationhostdll.dll

3.0.6920.4033

171,368

02 септември 2010 г.

00:53

x64

Presentationhostproxy.dll

4.0.31106.0

109,928

02 септември 2010 г.

00:53

x64

Windowsbase.dll

3.0.6920.4033

1,110,016

02 септември 2010 г.

00:53

x64

За всички поддържани базирани на x86 версии на Windows Vista Service Pack 2 (SP2) и Windows Server 2008 Service Pack 2 (SP2)

Име на файл

Версия на файл

Размер на файла

Дата

Час

Платформа

Presentationcore.dll

3.0.6920.4033

4,218,880

09 септември 2010 г.

10:52

x86

Presentationfontcache.exe.config

Неприложимо

161

03 април 2009 г.

21:25

Неприложимо

Wpfgfx_v0300.dll

3.0.6920.4003

1,736,024

17 юни 2009 г.

08:03

x86

Presentationframework.dll

3.0.6920.4033

5,279,744

09 септември 2010 г.

10:52

x86

Presentationhostdll.dll

3.0.6920.4033

130,408

09 септември 2010 г.

10:52

x86

Windowsbase.dll

3.0.6920.4033

1,249,280

09 септември 2010 г.

10:52

x86

За всички поддържани базирани на x64 версии на Windows Vista SP2 и Windows Server 2008 SP2

Име на файл

Версия на файл

Размер на файла

Дата

Час

Платформа

Presentationcore.dll

3.0.6920.4033

3,997,696

09 септември 2010 г.

10:52

x64

Presentationfontcache.exe.config

Неприложимо

161

03 април 2009 г.

20:58

Неприложимо

Wpfgfx_v0300.dll

3.0.6920.4003

2,254,168

17 юни 2009 г.

08:03

x64

Presentationframework.dll

3.0.6920.4033

4,636,672

09 септември 2010 г.

10:52

x64

Presentationhostdll.dll

3.0.6920.4033

171,368

09 септември 2010 г.

10:52

x64

Windowsbase.dll

3.0.6920.4033

1,110,016

09 септември 2010 г.

10:52

x64

За всички поддържани базирани на x86 версии на Windows 7

Име на файл

Версия на файл

Размер на файла

Дата

Час

Платформа

Presentationcore.dll

3.0.6920.5012

4,218,880

11 септември 2010 г.

01:29

x86

Presentationfontcache.exe.config

Неприложимо

161

10 юни 2009 г.

21:14

Неприложимо

Wpfgfx_v0300.dll

3.0.6920.4902

1,736,536

10 юни 2009 г.

21:14

x86

Presentationframework.dll

3.0.6920.5012

5,279,744

11 септември 2010 г.

01:29

x86

Presentationhostdll.dll

3.0.6920.5012

130,408

11 септември 2010 г.

01:29

x86

Presentationhost.exe

4.0.31106.0

295,264

11 септември 2010 г.

01:29

x86

Presentationhostproxy.dll

4.0.31106.0

99,176

11 септември 2010 г.

01:29

x86

Windowsbase.dll

3.0.6920.5012

1,253,376

11 септември 2010 г.

01:29

x86

За всички поддържани базирани на x64 версии на Windows 7 и Windows Server 2008 R2

Име на файл

Версия на файл

Размер на файла

Дата

Час

Платформа

Presentationcore.dll

3.0.6920.5012

3,997,696

11 септември 2010 г.

01:28

x64

Presentationfontcache.exe.config

Неприложимо

161

10 юни 2009 г.

20:30

Неприложимо

Wpfgfx_v0300.dll

3.0.6920.4902

2,255,176

10 юни 2009 г.

20:30

x64

Presentationframework.dll

3.0.6920.5012

4,636,672

11 септември 2010 г.

01:28

x64

Presentationhostdll.dll

3.0.6920.5012

171,368

11 септември 2010 г.

01:28

x64

Presentationhost.exe

4.0.31106.0

320,352

11 септември 2010 г.

01:28

x64

Presentationhostproxy.dll

4.0.31106.0

109,928

11 септември 2010 г.

01:28

x64

Windowsbase.dll

3.0.6920.5012

1,114,112

11 септември 2010 г.

01:28

x64

Статус

Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са изброени в раздела "Отнася се за".

Заобиколно решение

За да заобиколите този проблем, забранете канала за рендиране на хардуера и след това разрешете канала за рендиране на софтуера. За да забраните канала за рендиране на хардуера и да разрешите канала за рендиране на софтуера, използвайте един от следните методи:

  • Задайте изброяването system.Windows.Interop.RenderMode.По-долу е посочен примерен код, който задава изброяването на System.Windows.Interop.RenderMode, за да се разреши каналът за рендиране на софтуер, когато се зарежда прозорец на WPF:

    private void OnLoaded(object sender, EventArgs e){System.Windows.Interop.HwndSource hwndSource = PresentationSource.FromVisual(this) as System.Windows.Interop.HwndSource;System.Windows.Interop.HwndTarget hwndTarget = hwndSource.CompositionTarget; hwndTarget.RenderMode = System.Windows.Interop.RenderMode.SoftwareOnly;}
  • Задайте ключа от системния регистър DisableHWAcceleration .Важно Този раздел, метод или задача съдържа стъпки, които ви казват как да промените системния регистър. Ако не промените правилно системния регистър обаче, е възможно да възникнат сериозни проблеми. Затова се уверете, че следвате тези стъпки внимателно. За допълнителна защита архивирайте регистъра, преди да го промените. След това, ако възникне проблем, можете да възстановите регистъра. За допълнителна информация как да направите резервно копие на системния регистър или да възстановите регистъра щракнете върху следния номер на статия от базата знания на Microsoft:

    322756 Как да архивирате и възстановите системния регистър в предупреждението на WindowsТози метод забранява хардуерния канал за рендиране за всички приложения на WPF на компютъра. Следователно методът не се препоръчва обикновено освен когато клиентите управляват средите и нямат нищо против ефекта за всички приложения на WPF.

    1. Щракнете върху Старт, щракнете върху Изпълнение, въведете regedit и след това натиснете КЛАВИША ENTER.

    2. Намерете и след това щракнете върху следния подключ в системния регистър:

      HKEY_CURRENT_USER\SOFTWARE\Microsoft\Avalon.Graphics

    3. Задайте стойността на записа в системния регистър DisableHWAcceleration на 1.Забележка Ако записът в системния регистър DisableHWAcceleration не съществува, щракнете с десния бутон върху подключа на системния регистър, посочете Създай и след това щракнете върху Стойност на низ , за да създадете нов запис в системния регистър. Въведете DisableHWAcceleration за името на новия запис в системния регистър, щракнете двукратно върху DisableHWAcceleration и след това променете данните за стойността DisableHWAcceleration на 1.

    4. Затворете редактора на системния регистър.

Повече информация

За повече информация относно канала за рендиране на софтуер посетете следния уеб сайт на Microsoft Developer Network (MSDN):Обща информация за каналаза рендиране на софтуер за повече информация относно настройките на системния регистър на WPF рендиране посетете следния уеб сайт на MSDN:Обща информация за настройките на системния регистър на WPF рендиранеЗа повече информация относно изброяването на System.Windows.Interop.RenderMode посетете следния уеб сайт на MSDN:Обща информация за изброяването "System.Windows.Interop.RenderMode"

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.