Застосовується до
.NET Framework 3.5 Service Pack 1

Ознаки

Розглянемо такий сценарій:

  • Ви запускаєте Microsoft .NET Framework 3.5 із пакетом оновлень 1 (SP1) на основі програми Windows Presentation Foundation (WPF).

  • Програма WPF використовує апаратний канал рендерінгу.

  • Програма завантажує та вивантажує багато доменів застосунків, які містять один або кілька настроюваних компонентів надбудови WPF.

У цьому випадку застосунок стикається з System.Runtime.InteropServices.COMException виняток, а потім програма аварійно завершує роботу.

Спосіб вирішення

Відомості про виправлення

Від корпорації Майкрософт доступне підтримуване виправлення. Однак, це виправлення, призначене для виправлення, лише проблема, описана в цій статті. Застосувати це виправлення лише до систем, які відчувають цю проблему. Це виправлення може отримати додаткове тестування. Таким чином, якщо ви не серйозно постраждали від цієї проблеми, радимо дочекатися наступного оновлення програмного забезпечення, яке містить це виправлення. Щоб завантажити це виправлення з колекції кодів MSDN, відвідайте веб-сайт корпорації Майкрософт:

http://code.msdn.microsoft.com/KB2276690Примітка Колекція кодів MSDN відображає мови, для яких доступне виправлення. Якщо ви не бачите мову в списку, це полягає в тому, що сторінка ресурсів колекції кодів недоступна для цієї мови. Примітка. Якщо виникають додаткові проблеми або якщо потрібно виправити неполадки, можливо, доведеться створити окремий запит на обслуговування. Звичайні витрати на підтримку буде застосовуватися до додаткових питань і питань підтримки, які не мають права на це конкретне виправлення. Повний список номерів телефонів служби підтримки клієнтів і підтримки корпорації Майкрософт або створення окремого запиту на обслуговування відвідайте веб-сайт корпорації Майкрософт:

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

Попередні вимоги

Щоб застосувати це виправлення, потрібно мати .NET Framework 3.5 пакет оновлень 1 (SP1) інстальовано. 

Необхідність перезавантаження

Не потрібно перезавантажувати комп'ютер після застосування цього виправлення.

Відомості про заміну виправлень

Це виправлення не замінює будь-які інші виправлення.

Відомості про файл

Англійська версія цього виправлення, має атрибути файлу (або новіші атрибути файлів), перелічені в наведеній нижче таблиці. Дати й час для цих файлів перелічено за всесвітнім координованим часом (UTC). Коли ви переглядаєте відомості про файл, вони перетворюються на місцевий час. Щоб знайти різницю між UTC і місцевим часом, перейдіть на вкладку Часовий пояс на Панелі керування в розділі "Дата й час ".

Для всіх підтримуваних версій Windows Server 2003 і Windows XP на базі x86-процесорів

Ім'я файлу

Версія файлу

Розмір файлу

Дата

Час

Платформа

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-розрядна, x64-

Presentationframework.dll

3.0.6920.4033

4,636,672

02 вересня 2010 р.

00:48

x64-розрядна, x64-

Presentationhost.exe

4.0.31106.0

320,352

02 вересня 2010 р.

00:48

x64-розрядна, x64-

Presentationhostdll.dll

3.0.6920.4033

171,368

02 вересня 2010 р.

00:53

x64-розрядна, x64-

Presentationhostproxy.dll

4.0.31106.0

109,928

02 вересня 2010 р.

00:53

x64-розрядна, x64-

Windowsbase.dll

3.0.6920.4033

1,110,016

02 вересня 2010 р.

00:53

x64-розрядна, x64-

Для всіх підтримуваних x86-процесорів версій Windows Vista з пакетом оновлень 2 (SP2) і Windows Server 2008 із пакетом оновлень 2 (SP2)

Ім'я файлу

Версія файлу

Розмір файлу

Дата

Час

Платформа

Presentationcore.dll

3.0.6920.4033

4,218,880

09 вересня 2010 р.

10:52

x86

Presentationfontcache.exe.config

Not Applicable

161

03 квітня 2009 р.

21:25

Not Applicable

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 з пакетом оновлень 2 (SP2) і Windows Server 2008 з пакетом оновлень 2 (SP2)

Ім'я файлу

Версія файлу

Розмір файлу

Дата

Час

Платформа

Presentationcore.dll

3.0.6920.4033

3,997,696

09 вересня 2010 р.

10:52

x64-розрядна, x64-

Presentationfontcache.exe.config

Not Applicable

161

03 квітня 2009 р.

20:58

Not Applicable

Wpfgfx_v0300.dll

3.0.6920.4003

2,254,168

17 червня 2009 р.

08:03

x64-розрядна, x64-

Presentationframework.dll

3.0.6920.4033

4,636,672

09 вересня 2010 р.

10:52

x64-розрядна, x64-

Presentationhostdll.dll

3.0.6920.4033

171,368

09 вересня 2010 р.

10:52

x64-розрядна, x64-

Windowsbase.dll

3.0.6920.4033

1,110,016

09 вересня 2010 р.

10:52

x64-розрядна, x64-

Для всіх підтримуваних x86-процесорів версії Windows 7

Ім'я файлу

Версія файлу

Розмір файлу

Дата

Час

Платформа

Presentationcore.dll

3.0.6920.5012

4,218,880

11 вересня 2010 р.

01:29

x86

Presentationfontcache.exe.config

Not Applicable

161

10 червня 2009 р.

21:14

Not Applicable

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

Для всіх підтримуваних версій Windows 7 і Windows Server 2008 R2 на базі x64-процесорів

Ім'я файлу

Версія файлу

Розмір файлу

Дата

Час

Платформа

Presentationcore.dll

3.0.6920.5012

3,997,696

11 вересня 2010 р.

01:28

x64-розрядна, x64-

Presentationfontcache.exe.config

Not Applicable

161

10 червня 2009 р.

20:30

Not Applicable

Wpfgfx_v0300.dll

3.0.6920.4902

2,255,176

10 червня 2009 р.

20:30

x64-розрядна, x64-

Presentationframework.dll

3.0.6920.5012

4,636,672

11 вересня 2010 р.

01:28

x64-розрядна, x64-

Presentationhostdll.dll

3.0.6920.5012

171,368

11 вересня 2010 р.

01:28

x64-розрядна, x64-

Presentationhost.exe

4.0.31106.0

320,352

11 вересня 2010 р.

01:28

x64-розрядна, x64-

Presentationhostproxy.dll

4.0.31106.0

109,928

11 вересня 2010 р.

01:28

x64-розрядна, x64-

Windowsbase.dll

3.0.6920.5012

1,114,112

11 вересня 2010 р.

01:28

x64-розрядна, x64-

Стан

Корпорація Майкрософт підтвердила, що це проблема в продуктах 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 Як створити резервну копію та відновити реєстр у Вікніпопередження Цей метод вимикає апаратний рендерінг конвеєр для всіх WPF застосунків на комп'ютері. Таким чином, метод не заохочується, як правило, за винятком випадків, коли клієнти контролювати середовища і не проти ефект для всіх WPF додатків.

    1. Натисніть кнопку Пуск, виберіть команду Виконати, введіть regedit і натисніть клавішу Enter.

    2. Знайдіть і клацніть такий підрозділ реєстру:

      HKEY_CURRENT_USER\SOFTWARE\Microsoft\Avalon.Graphics

    3. Установіть значення 1 запису реєстру DisableHWAcceleration .Примітка. Якщо запис реєстру DisableHWAcceleration не існує, клацніть правою кнопкою миші підрозділ реєстру, наведіть вказівник миші на створити та виберіть значення рядка , щоб створити новий запис реєстру. Введіть DisableHWAcceleration для імені нового запису реєстру, двічі клацніть DisableHWAcceleration, а потім змініть значення DisableHWAcceleration на 1.

    4. Закрийте редактор реєстру.

Додаткові відомості

Щоб отримати додаткові відомості про програмного забезпечення рендерінг конвеєр, відвідайте такий веб-сайт Microsoft Developer Network (MSDN):Загальні відомості про програмний рендерінг конвеєрДля отримання додаткових відомостей про параметри реєстру WPF рендерінгу, відвідайте такий веб-сайт MSDN:Загальні відомості про параметри реєстру WPF рендерінгуЩоб отримати додаткові відомості про перелічення System.Windows.Interop.RenderMode відвідайте такий веб-сайт MSDN:Загальні відомості про перелічення "System.Windows.Interop.RenderMode"

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.