Si applica a
.NET Framework 3.5 Service Pack 1

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.

    1. Fare clic sul pulsante Start, scegliere Esegui, digitare regedit e quindi premere INVIO.

    2. Individuare e selezionare la seguente sottochiave del Registro di sistema:

      HKEY_CURRENT_USER\SOFTWARE\Microsoft\Avalon.Graphics

    3. 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.

    4. 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

Serve aiuto?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.