Príznaky
Zvážte nasledujúci scenár:
-
Spustíte aplikáciu WPF (Windows Presentation Foundation) založenú na balíku Microsoft .NET Framework 3.5 Service Pack 1 (SP1).
-
Aplikácia WPF používa kanál hardvérového vykresľovania.
-
Aplikácia načíta a uvoľní veľa domén aplikácií, ktoré obsahujú jednu alebo viac vlastných súčastí doplnku WPF.
V tomto scenári aplikácia narazí system.Runtime.InteropServices.COMException výnimku a potom aplikácia zlyhá.
Riešenie
Informácie o rýchlej oprave
Od spoločnosti Microsoft je k dispozícii podporovaná rýchla oprava. Táto rýchla oprava je však určená len na odstránenie problému, ktorý je popísaný v tomto článku. Túto rýchlu opravu použite iba v systémoch, v ktorých sa vyskytol tento špecifický problém. Táto rýchla oprava môže získať ďalšie testovanie. Preto, ak nie ste vážne ovplyvnený týmto problémom, odporúčame počkať na ďalšiu aktualizáciu softvéru, ktorá obsahuje túto rýchlu opravu. Ak si chcete stiahnuť túto rýchlu opravu z galérie kódov MSDN, navštívte nasledujúcu webovú lokalitu spoločnosti Microsoft:
http://code.msdn.microsoft.com/KB2276690Poznámka: Galéria kódov MSDN zobrazuje jazyky, pre ktoré je rýchla oprava k dispozícii. Ak sa váš jazyk v zozname nezobrazuje, je to spôsobené tým, že stránka prostriedkov Galérie kódov nie je pre daný jazyk k dispozícii. Poznámka: Ak sa vyskytnú ďalšie problémy, alebo ak je potrebné nejaké riešenie problémov, možno budete musieť vytvoriť samostatnú žiadosť o službu. Zvyčajné náklady na podporu sa budú vzťahovať na ďalšie otázky a problémy týkajúce sa podpory, ktoré nespĺňajú podmienky pre túto konkrétnu rýchlu opravu. Úplný zoznam telefónnych čísel služieb zákazníkom a podpory spoločnosti Microsoft alebo vytvorenie samostatnej žiadosti o službu nájdete na nasledujúcej webovej lokalite spoločnosti Microsoft:
http://support.microsoft.com/contactus/?ws=support
Požiadavky
Ak chcete použiť túto rýchlu opravu, musíte mať nainštalovaný balík .NET Framework 3.5 Service Pack 1 (SP1).
Požiadavka na reštartovanie
Po použití tejto rýchlej opravy nie je potrebné reštartovať počítač.
Informácie o náhrade rýchlej opravy
Táto rýchla oprava nenahrádňuje žiadnu inú rýchlu opravu.
Informácie o súbore
Anglická verzia tejto rýchlej opravy obsahuje atribúty súboru (alebo novšie atribúty súboru), ktoré sú uvedené v nasledujúcej tabuľke. Dátumy a časy pre tieto súbory sú uvedené v koordinovanom svetovom čase (UTC). Pri prezeraní sa informácie o súbore skonvertujú na miestny čas. Ak chcete nájsť rozdiel medzi UTC a miestnym časom, použite kartu Časové pásmo v položke Dátum a čas v ovládacom paneli.
Pre všetky podporované verzie systému Windows Server 2003 a Windows XP založené na verzii x86
|
Názov súboru |
Verzia súboru |
Veľkosť súboru |
Dátum |
Čas |
Platforma |
|---|---|---|---|---|---|
|
Presentationcore.dll |
3.0.6920.4033 |
4,218,880 |
02. sep 2010 |
01:32 |
x86 |
|
Presentationframework.dll |
3.0.6920.4033 |
5,279,744 |
02. sep 2010 |
01:28 |
x86 |
|
Presentationhost.exe |
4.0.40305.0 |
295,264 |
02. sep 2010 |
01:28 |
x86 |
|
Presentationhostdll.dll |
3.0.6920.4033 |
130,408 |
02. sep 2010 |
01:32 |
x86 |
|
Presentationhostproxy.dll |
4.0.31106.0 |
99,176 |
02. sep 2010 |
01:32 |
x86 |
|
Windowsbase.dll |
3.0.6920.4033 |
1,249,280 |
02. sep 2010 |
01:32 |
x86 |
Pre všetky podporované verzie systému Windows Server 2003 a Windows XP s architektúrou x64
|
Názov súboru |
Verzia súboru |
Veľkosť súboru |
Dátum |
Čas |
Platforma |
|---|---|---|---|---|---|
|
Presentationcore.dll |
3.0.6920.4033 |
3,997,696 |
02. sep 2010 |
00:53 |
x64 |
|
Presentationframework.dll |
3.0.6920.4033 |
4,636,672 |
02. sep 2010 |
00:48 |
x64 |
|
Presentationhost.exe |
4.0.31106.0 |
320,352 |
02. sep 2010 |
00:48 |
x64 |
|
Presentationhostdll.dll |
3.0.6920.4033 |
171,368 |
02. sep 2010 |
00:53 |
x64 |
|
Presentationhostproxy.dll |
4.0.31106.0 |
109,928 |
02. sep 2010 |
00:53 |
x64 |
|
Windowsbase.dll |
3.0.6920.4033 |
1,110,016 |
02. sep 2010 |
00:53 |
x64 |
Pre všetky podporované verzie systému Windows Vista Service Pack 2 (SP2) a Windows Server 2008 Service Pack 2 (SP2) s podporou verzie x86
|
Názov súboru |
Verzia súboru |
Veľkosť súboru |
Dátum |
Čas |
Platforma |
|---|---|---|---|---|---|
|
Presentationcore.dll |
3.0.6920.4033 |
4,218,880 |
09. sep 2010 |
10:52 |
x86 |
|
Presentationfontcache.exe.config |
Nevzťahuje sa |
161 |
03– apríl 2009 |
21:25 |
Nevzťahuje sa |
|
Wpfgfx_v0300.dll |
3.0.6920.4003 |
1,736,024 |
17. jún 2009 |
08:03 |
x86 |
|
Presentationframework.dll |
3.0.6920.4033 |
5,279,744 |
09. sep 2010 |
10:52 |
x86 |
|
Presentationhostdll.dll |
3.0.6920.4033 |
130,408 |
09. sep 2010 |
10:52 |
x86 |
|
Windowsbase.dll |
3.0.6920.4033 |
1,249,280 |
09. sep 2010 |
10:52 |
x86 |
Pre všetky podporované verzie systému Windows Vista SP2 s architektúrou x64 a Windows Server 2008 SP2
|
Názov súboru |
Verzia súboru |
Veľkosť súboru |
Dátum |
Čas |
Platforma |
|---|---|---|---|---|---|
|
Presentationcore.dll |
3.0.6920.4033 |
3,997,696 |
09. sep 2010 |
10:52 |
x64 |
|
Presentationfontcache.exe.config |
Nevzťahuje sa |
161 |
03– apríl 2009 |
20:58 |
Nevzťahuje sa |
|
Wpfgfx_v0300.dll |
3.0.6920.4003 |
2,254,168 |
17. jún 2009 |
08:03 |
x64 |
|
Presentationframework.dll |
3.0.6920.4033 |
4,636,672 |
09. sep 2010 |
10:52 |
x64 |
|
Presentationhostdll.dll |
3.0.6920.4033 |
171,368 |
09. sep 2010 |
10:52 |
x64 |
|
Windowsbase.dll |
3.0.6920.4033 |
1,110,016 |
09. sep 2010 |
10:52 |
x64 |
Pre všetky podporované verzie windowsu 7 s architektúrou x86
|
Názov súboru |
Verzia súboru |
Veľkosť súboru |
Dátum |
Čas |
Platforma |
|---|---|---|---|---|---|
|
Presentationcore.dll |
3.0.6920.5012 |
4,218,880 |
11. sep 2010 |
01:29 |
x86 |
|
Presentationfontcache.exe.config |
Nevzťahuje sa |
161 |
10. jún 2009 |
21:14 |
Nevzťahuje sa |
|
Wpfgfx_v0300.dll |
3.0.6920.4902 |
1,736,536 |
10. jún 2009 |
21:14 |
x86 |
|
Presentationframework.dll |
3.0.6920.5012 |
5,279,744 |
11. sep 2010 |
01:29 |
x86 |
|
Presentationhostdll.dll |
3.0.6920.5012 |
130,408 |
11. sep 2010 |
01:29 |
x86 |
|
Presentationhost.exe |
4.0.31106.0 |
295,264 |
11. sep 2010 |
01:29 |
x86 |
|
Presentationhostproxy.dll |
4.0.31106.0 |
99,176 |
11. sep 2010 |
01:29 |
x86 |
|
Windowsbase.dll |
3.0.6920.5012 |
1,253,376 |
11. sep 2010 |
01:29 |
x86 |
Pre všetky podporované verzie systémov Windows 7 a Windows Server 2008 R2 s procesorom typu x64
|
Názov súboru |
Verzia súboru |
Veľkosť súboru |
Dátum |
Čas |
Platforma |
|---|---|---|---|---|---|
|
Presentationcore.dll |
3.0.6920.5012 |
3,997,696 |
11. sep 2010 |
01:28 |
x64 |
|
Presentationfontcache.exe.config |
Nevzťahuje sa |
161 |
10. jún 2009 |
20:30 |
Nevzťahuje sa |
|
Wpfgfx_v0300.dll |
3.0.6920.4902 |
2,255,176 |
10. jún 2009 |
20:30 |
x64 |
|
Presentationframework.dll |
3.0.6920.5012 |
4,636,672 |
11. sep 2010 |
01:28 |
x64 |
|
Presentationhostdll.dll |
3.0.6920.5012 |
171,368 |
11. sep 2010 |
01:28 |
x64 |
|
Presentationhost.exe |
4.0.31106.0 |
320,352 |
11. sep 2010 |
01:28 |
x64 |
|
Presentationhostproxy.dll |
4.0.31106.0 |
109,928 |
11. sep 2010 |
01:28 |
x64 |
|
Windowsbase.dll |
3.0.6920.5012 |
1,114,112 |
11. sep 2010 |
01:28 |
x64 |
Stav
Spoločnosť Microsoft potvrdzuje, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v tomto článku v časti Informácie v tomto článku sa týkajú nasledujúcich produktov.
Alternatívne riešenie
Ak chcete tento problém obísť, vypnite hardvérový kanál vykresľovania a potom povoľte kanál vykresľovania softvéru. Ak chcete vypnúť hardvérový kanál vykresľovania a povoliť kanál vykresľovania softvéru, použite jednu z nasledujúcich metód:
-
Nastavte enumeráciu System.Windows.Interop.RenderMode.Nižšie je uvedený príklad kódu, ktorý nastaví enumeráciu System.Windows.Interop.RenderMode na povolenie kanála vykresľovania softvéru pri načítaní okna 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;}
-
Nastavte kľúč databázy Registry DisableHWAcceleration .Dôležité: Táto časť, metóda alebo úloha obsahuje kroky, ktoré vám oznámia, ako upraviť databázu Registry. Ak však databázu Registry upravíte nesprávne, môžu nastať vážne problémy. Preto dávajte pozor a postupujte presne podľa týchto krokov. Na dosiahnutie lepšej ochrany je vhodné pred úpravou databázu Registry zálohovať. To vám umožní obnoviť databázu Registry, ak sa vyskytnú problémy. Ďalšie informácie o zálohovaní a obnovení databázy Registry sa nachádzajú v nasledujúcom článku databázy Microsoft Knowledge Base:
322756 Ako zálohovať a obnoviť databázu Registry v systéme WindowsUpozornenie Táto metóda zakáže hardvérové vykresľovanie potrubia pre všetky aplikácie WPF v počítači. Preto metóda nie je podporovaná zvyčajne okrem prípadov, keď zákazníci ovládajú prostredia a nevadí účinok pre všetky aplikácie WPF.
-
Kliknite na tlačidlo Štart, potom na položku Spustiť, zadajte príkaz regedit a potom stlačte kláves ENTER.
-
Vyhľadajte nasledujúci podkľúč databázy Registry a kliknite naň:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Avalon.Graphics
-
Nastavte hodnotu položky databázy Registry DisableHWAcceleration na hodnotu 1.Poznámka Ak položka databázy Registry DisableHWAcceleration neexistuje, kliknite pravým tlačidlom myši na podkľúč databázy Registry, ukážte na položku Nové a potom kliknutím na položku Hodnota reťazca vytvorte novú položku databázy Registry. Zadajte DisableHWAcceleration pre názov novej položky databázy Registry, dvakrát kliknite na položku DisableHWAcceleration a potom zmeňte údaje hodnoty DisableHWAcceleration na hodnotu 1.
-
Ukončite Editor databázy Registry.
-
Ďalšie informácie
Ďalšie informácie o kanáli vykresľovania softvéru nájdete na nasledujúcej webovej lokalite služby Microsoft Developer Network (MSDN):Všeobecné informácie o kanálivykresľovania softvéru Ďalšie informácie o nastaveniach databázy Registry vykresľovania WPF nájdete na nasledujúcej webovej lokalite MSDN:Všeobecné informácie o nastaveniach databázy Registry vykresľovania WPFĎalšie informácie o enumerácii System.Windows.Interop.RenderMode nájdete na nasledujúcej webovej lokalite MSDN:Všeobecné informácie o enumerácii System.Windows.Interop.RenderMode