Sintomi
Considerare lo scenario descritto di seguito:
-
Si esegue un'applicazione Windows Presentation Foundation (WPF) basata su Microsoft .NET Framework 3.5 Service Pack 1 (SP1).
-
L'applicazione WPF utilizza la pipeline di rendering hardware.
-
L'applicazione carica e scarica molti domini applicazione che contengono uno o più componenti aggiuntivi WPF personalizzati.
In questo scenario l'applicazione rileva un'eccezione System.Runtime.InteropServices.COMException e quindi l'applicazione si arresta in modo anomalo.
Risoluzione
Informazioni sull'aggiornamento rapido
Un hotfix supportato è disponibile da Microsoft. Tuttavia, questo hotfix ha lo scopo di correggere solo il problema descritto in questo articolo. Applica questo hotfix solo ai sistemi che stanno riscontrando questo problema specifico. Questo hotfix potrebbe ricevere ulteriori test. Pertanto, se non si è gravemente colpiti da questo problema, è consigliabile attendere il prossimo aggiornamento software che contiene questo hotfix. Per scaricare questo hotfix dalla Raccolta codici MSDN, visita il seguente sito Web Microsoft:
http://code.msdn.microsoft.com/KB2276690Nota La Raccolta codici MSDN visualizza le lingue per le quali è disponibile l'hotfix. Se la lingua non è presente nell'elenco, significa che la pagina delle risorse della Raccolta codici non è disponibile per tale lingua. Nota Se si verificano altri problemi o se è necessaria una risoluzione dei problemi, potrebbe essere necessario creare una richiesta di servizio separata. I soliti costi di supporto si applicano a ulteriori domande e problemi di supporto che non sono idonei per questo hotfix specifico. Per un elenco completo dei numeri di telefono del servizio clienti Microsoft e del supporto tecnico Microsoft o per creare una richiesta di servizio separata, visita il seguente sito Web Microsoft:
http://support.microsoft.com/contactus/?ws=support
Requisiti
Per applicare questo hotfix, è necessario che sia installato .NET Framework 3.5 Service Pack 1 (SP1).
Richiesta di riavvio
Non è necessario riavviare il computer dopo aver applicato questo hotfix.
Informazioni sulla sostituzione degli hotfix
Questo hotfix non sostituisce nessun altro hotfix.
Informazioni sui file
La versione in lingua inglese di questo hotfix presenta gli attributi di file elencati nella tabella seguente (o attributi successivi). Le date e le ore di questi file sono espresse nel formato UTC (Coordinated Universal Time). Quando esaminate le informazioni del file, viene convertito in orario locale. Per trovare la differenza tra UTC e l'ora locale, usare la scheda Fuso orario nell'elemento Data e ora nel Pannello di controllo.
Per tutte le versioni supportate basate su x86 di Windows Server 2003 e Windows XP
|
Nome file |
Versione file |
Dimensione file |
Date |
Ora |
Piattaforma |
|---|---|---|---|---|---|
|
Presentationcore.dll |
3.0.6920.4033 |
4,218,880 |
02 settembre 2010 |
01:32 |
x86 |
|
Presentationframework.dll |
3.0.6920.4033 |
5,279,744 |
02 settembre 2010 |
01:28 |
x86 |
|
Presentationhost.exe |
4.0.40305.0 |
295,264 |
02 settembre 2010 |
01:28 |
x86 |
|
Presentationhostdll.dll |
3.0.6920.4033 |
130,408 |
02 settembre 2010 |
01:32 |
x86 |
|
Presentationhostproxy.dll |
4.0.31106.0 |
99,176 |
02 settembre 2010 |
01:32 |
x86 |
|
Windowsbase.dll |
3.0.6920.4033 |
1,249,280 |
02 settembre 2010 |
01:32 |
x86 |
Per tutte le versioni supportate basate su x64 di Windows Server 2003 e Windows XP
|
Nome file |
Versione file |
Dimensione file |
Date |
Ora |
Piattaforma |
|---|---|---|---|---|---|
|
Presentationcore.dll |
3.0.6920.4033 |
3,997,696 |
02 settembre 2010 |
00:53 |
x64 |
|
Presentationframework.dll |
3.0.6920.4033 |
4,636,672 |
02 settembre 2010 |
00:48 |
x64 |
|
Presentationhost.exe |
4.0.31106.0 |
320,352 |
02 settembre 2010 |
00:48 |
x64 |
|
Presentationhostdll.dll |
3.0.6920.4033 |
171,368 |
02 settembre 2010 |
00:53 |
x64 |
|
Presentationhostproxy.dll |
4.0.31106.0 |
109,928 |
02 settembre 2010 |
00:53 |
x64 |
|
Windowsbase.dll |
3.0.6920.4033 |
1,110,016 |
02 settembre 2010 |
00:53 |
x64 |
Per tutte le versioni supportate basate su x86 di Windows Vista Service Pack 2 (SP2) e di Windows Server 2008 Service Pack 2 (SP2)
|
Nome file |
Versione file |
Dimensione file |
Date |
Ora |
Piattaforma |
|---|---|---|---|---|---|
|
Presentationcore.dll |
3.0.6920.4033 |
4,218,880 |
09 settembre 2010 |
10:52 |
x86 |
|
Presentationfontcache.exe.config |
Non applicabile |
161 |
03-apr-2009 |
21:25 |
Non applicabile |
|
Wpfgfx_v0300.dll |
3.0.6920.4003 |
1,736,024 |
17 giugno 2009 |
08:03 |
x86 |
|
Presentationframework.dll |
3.0.6920.4033 |
5,279,744 |
09 settembre 2010 |
10:52 |
x86 |
|
Presentationhostdll.dll |
3.0.6920.4033 |
130,408 |
09 settembre 2010 |
10:52 |
x86 |
|
Windowsbase.dll |
3.0.6920.4033 |
1,249,280 |
09 settembre 2010 |
10:52 |
x86 |
Per tutte le versioni supportate basate su x64 di Windows Vista SP2 e Windows Server 2008 SP2
|
Nome file |
Versione file |
Dimensione file |
Date |
Ora |
Piattaforma |
|---|---|---|---|---|---|
|
Presentationcore.dll |
3.0.6920.4033 |
3,997,696 |
09 settembre 2010 |
10:52 |
x64 |
|
Presentationfontcache.exe.config |
Non applicabile |
161 |
03-apr-2009 |
20:58 |
Non applicabile |
|
Wpfgfx_v0300.dll |
3.0.6920.4003 |
2,254,168 |
17 giugno 2009 |
08:03 |
x64 |
|
Presentationframework.dll |
3.0.6920.4033 |
4,636,672 |
09 settembre 2010 |
10:52 |
x64 |
|
Presentationhostdll.dll |
3.0.6920.4033 |
171,368 |
09 settembre 2010 |
10:52 |
x64 |
|
Windowsbase.dll |
3.0.6920.4033 |
1,110,016 |
09 settembre 2010 |
10:52 |
x64 |
Per tutte le versioni supportate di Windows 7 basate su x86
|
Nome file |
Versione file |
Dimensione file |
Date |
Ora |
Piattaforma |
|---|---|---|---|---|---|
|
Presentationcore.dll |
3.0.6920.5012 |
4,218,880 |
11 settembre 2010 |
01:29 |
x86 |
|
Presentationfontcache.exe.config |
Non applicabile |
161 |
10 giugno 2009 |
21:14 |
Non applicabile |
|
Wpfgfx_v0300.dll |
3.0.6920.4902 |
1,736,536 |
10 giugno 2009 |
21:14 |
x86 |
|
Presentationframework.dll |
3.0.6920.5012 |
5,279,744 |
11 settembre 2010 |
01:29 |
x86 |
|
Presentationhostdll.dll |
3.0.6920.5012 |
130,408 |
11 settembre 2010 |
01:29 |
x86 |
|
Presentationhost.exe |
4.0.31106.0 |
295,264 |
11 settembre 2010 |
01:29 |
x86 |
|
Presentationhostproxy.dll |
4.0.31106.0 |
99,176 |
11 settembre 2010 |
01:29 |
x86 |
|
Windowsbase.dll |
3.0.6920.5012 |
1,253,376 |
11 settembre 2010 |
01:29 |
x86 |
Per tutte le versioni supportate basate su x64 di Windows 7 e Windows Server 2008 R2
|
Nome file |
Versione file |
Dimensione file |
Date |
Ora |
Piattaforma |
|---|---|---|---|---|---|
|
Presentationcore.dll |
3.0.6920.5012 |
3,997,696 |
11 settembre 2010 |
01:28 |
x64 |
|
Presentationfontcache.exe.config |
Non applicabile |
161 |
10 giugno 2009 |
20:30 |
Non applicabile |
|
Wpfgfx_v0300.dll |
3.0.6920.4902 |
2,255,176 |
10 giugno 2009 |
20:30 |
x64 |
|
Presentationframework.dll |
3.0.6920.5012 |
4,636,672 |
11 settembre 2010 |
01:28 |
x64 |
|
Presentationhostdll.dll |
3.0.6920.5012 |
171,368 |
11 settembre 2010 |
01:28 |
x64 |
|
Presentationhost.exe |
4.0.31106.0 |
320,352 |
11 settembre 2010 |
01:28 |
x64 |
|
Presentationhostproxy.dll |
4.0.31106.0 |
109,928 |
11 settembre 2010 |
01:28 |
x64 |
|
Windowsbase.dll |
3.0.6920.5012 |
1,114,112 |
11 settembre 2010 |
01:28 |
x64 |
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".
Soluzione alternativa
Per risolvere questo problema, disabilitare la pipeline di rendering hardware e quindi abilitare la pipeline di rendering software. Per disabilitare la pipeline di rendering hardware e per abilitare la pipeline di rendering software, utilizzare uno dei metodi seguenti:
-
Impostare l'enumerazione System.Windows.Interop.RenderMode.Di seguito è riportato un esempio di codice che imposta l'enumerazione System.Windows.Interop.RenderMode per abilitare la pipeline di rendering software quando viene caricata una finestra 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;}
-
Impostare la chiave del Registro di sistema DisableHWAcceleration .Importante Questa sezione, metodo o attività contiene i passaggi che indicano come modificare il Registro di sistema. L'errata modifica del Registro di sistema può causare seri problemi. Per questo motivo, occorre attenersi scrupolosamente alla procedura indicata. Per una maggiore sicurezza, eseguire una copia di backup del Registro di sistema prima di modificarlo. in modo da poterlo poi ripristinare in caso di problemi. Per ulteriori informazioni su come eseguire il backup e il ripristino del Registro di sistema, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
322756 Come eseguire il backup e il ripristino del Registro di sistema in WindowsWarning Questo metodo disabilita la pipeline di rendering hardware per tutte le applicazioni WPF nel computer. Pertanto, il metodo non viene incoraggiato in genere tranne quando i clienti controllano gli ambienti e non si preoccupano dell'effetto per tutte le applicazioni WPF.
-
Fare clic sul pulsante Start, scegliere Esegui, digitare regedit e quindi premere INVIO.
-
Individuare e selezionare la seguente sottochiave del Registro di sistema:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Avalon.Graphics
-
Impostare il valore della voce del Registro di sistema DisableHWAcceleration su 1.Nota: se la voce del Registro di sistema DisableHWAcceleration non esiste, fare clic con il pulsante destro del mouse sulla sottochiave del Registro di sistema, scegliere Nuovo e quindi fare clic su Valore stringa per creare una nuova voce del Registro di sistema. Digitare DisableHWAcceleration per il nome della nuova voce del Registro di sistema, fare doppio clic su DisableHWAcceleration e quindi modificare i dati del valore DisableHWAcceleration in 1.
-
Uscire dall'editor del Registro di sistema.
-
Ulteriori informazioni
Per ulteriori informazioni sulla pipeline di rendering software, visitare il seguente sito Web Microsoft Developer Network (MSDN):Informazioni generali sulla pipelinedi rendering software Per ulteriori informazioni sulle impostazioni del Registro di sistema del rendering WPF, visitare il seguente sito Web MSDN:Informazioni generali sulle impostazioni del Registro di sistema per il rendering WPFPer ulteriori informazioni sull'enumerazione System.Windows.Interop.RenderMode, visitare il seguente sito Web MSDN:General information about the "System.Windows.Interop.RenderMode" enumerazione