L'hotfix cumulativo, 2783808 per il 4.5 Framework .NET in Windows 7, Windows 7 SP1, Windows 2008 R2, Windows 2008 R2 SP1, Windows 2008 SP2 e Windows Vista SP2

Identificativo articolo: 2783808 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

Introduzione

In questo articolo viene descritto l'hotfix cumulativo 2783808 per Microsoft .NET Framework 4.5 Service Pack 2 (SP2) in Windows 7, Windows 7 Service Pack 1 (SP1), Windows 2008 R2, Windows 2008 R2 SP1, Windows 2008 SP2 e Windows Vista SP2. Questo hotfix cumulativo è disponibile per correggere diversi problemi in.NET Framework 4.5. Per ulteriori informazioni sui problemi che risolve l'aggiornamento rapido, vedere la sezione "Problemi che risolve questo hotfix cumulativo".

Informazioni

Informazioni sull'hotfix

Un hotfix supportato è disponibile da Microsoft. Tuttavia, esso è destinato esclusivamente alla risoluzione del problema descritto in questo articolo. Applicarlo solo ai sistemi in cui si verificano questo problema specifico.

Per risolvere il problema, contattare il servizio di supporto tecnico clienti Microsoft per ottenere l'hotfix. Per un elenco completo dei numeri di telefono del servizio supporto tecnico clienti Microsoft e informazioni sui costi dell'assistenza, visitare il seguente sito Web Microsoft:
http://support.microsoft.com/contactus/?ws=support
Nota. In casi particolari, le spese normalmente addebitate per le chiamate al servizio supporto tecnico clienti Microsoft potrebbero essere annullate qualora un addetto del supporto tecnico Microsoft determina che uno specifico aggiornamento risolverà il problema. I costi di supporto usuali verranno applicati per eventuali ulteriori domande e problemi che non dovessero rientrare nello specifico aggiornamento in questione.

Prerequisiti

Per applicare questo hotfix, è necessario disporre di.NET Framework 4.5 SP1 installato in Windows 7, Windows 7 SP1, Windows 2008 R2, Windows 2008 R2 SP1, Windows 2008 SP2 o Windows Vista SP2.

Richiesta di riavvio

È necessario riavviare il computer dopo avere applicato questo hotfix se vengono utilizzati tutti i file. Si consiglia di chiudere tutte le applicazioni di.NET Framework prima di applicare questo hotfix.

Informazioni sulla sostituzione dell'hotfix

Questo pacchetto di hotfix non sostituisce un pacchetto di aggiornamenti rapidi rilasciati in precedenza.

Informazioni sui file

Riduci l'immagineEspandi l'immagine
La versione globale di questo hotfix presenta gli attributi di file (o attributi successivi) elencati nella tabella riportata di seguito. Le date e ore dei file sono elencate nel tempo universale coordinato (UTC). Quando si visualizzano le informazioni sul file, viene convertita in ora locale. Per calcolare la differenza tra ora UTC e ora locale, utilizzare il Fuso orario Nella scheda il Data e ora elemento nel Pannello di controllo.
Per tutte le versioni supportate basate su x86 di Windows 7, Windows 7 SP1, Windows 2008 SP2 e Windows Vista SP2
Riduci questa tabellaEspandi questa tabella
Nome del fileVersione del fileDimensione del fileDataOraPiattaforma
CLR4.0.30319.190476,876,60828-Nov-201201: 28x86
Mscordacwks. dll4.0.30319.190471,299,44028-Nov-201201: 28x86
Mscordbi. dll4.0.30319.190471,096,65628-Nov-201201: 28x86
Mscorlib. dll4.0.30319.190475,171,15228-Nov-201202: 39x86
PresentationCore. dll4.0.30319.190473,224,56028-Nov-201202: 39x86
PresentationFramework. dll4.0.30319.190476,187,01628-Nov-201202: 39x86
SOS. dll4.0.30319.19047746,94428-Nov-201201: 28x86
System. dll4.0.30319.190473,449,28828-Nov-201202: 39x86
System.IdentityModel.dll4.0.30319.190471,084,92828-Nov-201202: 39x86
System.Printing.dll4.0.30319.19047342,00028-Nov-201202: 39x86
System.Runtime.Serialization.dll4.0.30319.190471,051,69628-Nov-201202: 39x86
System.ServiceModel.Channels.dll4.0.30319.19047158,76828-Nov-201202: 39x86
System.ServiceModel.Discovery.dll4.0.30319.19047312,36028-Nov-201202: 39x86
System.ServiceModel.dll4.0.30319.190476,368,78428-Nov-201202: 39x86
WindowsBase. dll4.0.30319.190471,237,48828-Nov-201202: 39x86
Per tutte le versioni supportate basate su x64 di Windows 7, Windows 7 SP1, Windows 2008 R2, Windows 2008 R2 SP1, Windows 2008 SP2 e Windows Vista SP2
Riduci questa tabellaEspandi questa tabella
Nome del fileVersione del fileDimensione del fileDataOraPiattaforma
CLR4.0.30319.190479,804,22428-Nov-201200: 33x64
CLR4.0.30319.190476,876,60828-Nov-201201: 28x86
Mscordacwks. dll4.0.30319.190471,742,81628-Nov-201200: 33x64
Mscordacwks. dll4.0.30319.190471,299,44028-Nov-201201: 28x86
Mscordbi. dll4.0.30319.190471,497,04028-Nov-201200: 33x64
Mscordbi. dll4.0.30319.190471,096,65628-Nov-201201: 28x86
Mscorlib. dll4.0.30319.190475,120,46428-Nov-201200: 33x64
Mscorlib. dll4.0.30319.190475,171,15228-Nov-201202: 39x86
PresentationCore. dll4.0.30319.190473,207,68028-Nov-201200: 33x64
PresentationCore. dll4.0.30319.190473,224,56028-Nov-201202: 39x86
PresentationFramework. dll4.0.30319.190476,187,01628-Nov-201202: 39x86
SOS. dll4.0.30319.19047785,34428-Nov-201200: 33x64
SOS. dll4.0.30319.19047746,94428-Nov-201201: 28x86
System. dll4.0.30319.190473,449,28828-Nov-201202: 39x86
System.IdentityModel.dll4.0.30319.190471,084,92828-Nov-201202: 39x86
System.Printing.dll4.0.30319.19047342,01628-Nov-201200: 33x64
System.Printing.dll4.0.30319.19047342,00028-Nov-201202: 39x86
System.Runtime.Serialization.dll4.0.30319.190471,051,69628-Nov-201202: 39x86
System.ServiceModel.Channels.dll4.0.30319.19047158,76828-Nov-201202: 39x86
System.ServiceModel.Discovery.dll4.0.30319.19047312,36028-Nov-201202: 39x86
System.ServiceModel.dll4.0.30319.190476,368,78428-Nov-201202: 39x86
WindowsBase. dll4.0.30319.190471,237,48828-Nov-201202: 39x86
Riduci l'immagineEspandi l'immagine

Problemi che risolve questo hotfix cumulativo

Common language runtime Problemi (CLR)

Problema 1

Quando un'applicazione .NET Framework 4.5 tenta di eseguire garbage collection in background su un computer che dispone di poca memoria, può verificarsi un deadlock.

Problema 2

Il metodo PerformanceCounterCategory.GetCategories non può restituire le categorie di contatori di un elenco delle prestazioni in alcuni sistemi operativi che utilizzano le impostazioni internazionali inglesi. Inoltre, se un'applicazione.NET Framework esegue codice simile al seguente per enumerare le categorie del contatore delle prestazioni, viene restituito alcun valore:
PerformanceCounterCategory[] categories;
categories = PerformanceCounterCategory.GetCategories();
Console.WriteLine(categories.Length + " categories are registered on this computer");
Dopo avere applicato l'hotfix, è necessario aggiungere la seguente chiave di configurazione LocalizedPerfCounter nuova nel file di configurazione dell'applicazione per l'applicazione di.NET Framework:
<configuration>
    <appSettings>
        <add key="LocalizedPerfCounter" value="true" />
    </appSettings>
</configuration>

Problemi di Windows Communication Foundation (WCF)

Problema 1

Si presuppone che vi sia un'applicazione che utilizza la classe System.Xml.XmlDictionaryReader WCF per la lettura UTF-8 codifica i caratteri Unicode. Quando l'applicazione legge determinati caratteri Unicode che rientrano all'interno di un determinato intervallo, il processo di lettura potrebbe essere lento.

NotaPer ulteriori informazioni sulla classe System.Xml.XmlDictionaryReader, visitare il seguente sito Web MSDN:
Informazioni generali relative alla classe di valore XmlDictionaryReader


Problema 2

In un computer che esegue il 4.5 di .NET Framework o una versione precedente, le applicazioni WCF non possono accedere a un certificato client se la proprietà HttpsTransportBindingElement.RequireClientCertificate è impostata su FALSE. Quando un'applicazione tenta di accedere ai certificati client, WCF funziona in una delle seguenti modalità:
  • richiedere o rifiutare
  • non è necessario e non convalida
In questo caso, non è possibile creare un'applicazione di cui il controllo è permissiva (ad esempio, è possibile creare un'applicazione che utilizza la modalità non richiedono i certificati , ma la convalida se fornita ). Questo hotfix consente all'applicazione aggiungere un'impostazione per ogni endpoint che fornisce il certificato del client per le applicazioni WCF se il client fornisce il certificato. Tuttavia, il certificato è facoltativo. Se non viene fornito un certificato, le connessioni non verranno rifiutate. Ad esempio, un sito Web potrebbe tentare di utilizzare autenticazione basata su form per convalidare un tentativo di accesso su un server e concedere autorizzazioni aggiuntive se la presenza di un certificato client è presentata al server.

Per sviluppare l'applicazione, creare un comportamento EndpointBehavior e quindi aggiungere il comportamento in un'associazione dell'endpoint. Ad esempio, è possibile eseguire il codice riportato di seguito per creare e aggiungere il comportamento:
class ValidateOptionalClientCertificateBehavior : IEndpointBehavior
        {
            private const string ValidateOptionalClientCertificates = " wcf:HttpTransport:ValidateOptionalClientCertificates";
 
            public void AddBindingParameters(ServiceEndpoint endpoint, BindingParameterCollection bindingParameters)
            {
                IDictionary<string, object> endpointSettings = bindingParameters.Find<IDictionary<string, object>>();
 
                if (endpointSettings == null)
                {
                    endpointSettings = new Dictionary<string, object>(StringComparer.OrdinalIgnoreCase);
                    bindingParameters.Add(endpointSettings);
                }
 
                if (endpointSettings.ContainsKey(ValidateOptionalClientCertificates))
                {
                    endpointSettings[ValidateOptionalClientCertificates] = true;
                }
                else
                {
                    endpointSettings.Add(ValidateOptionalClientCertificates, true);
                }
            }
 
            public void ApplyClientBehavior(ServiceEndpoint endpoint, ClientRuntime clientRuntime)
            {
            }
 
            public void ApplyDispatchBehavior(ServiceEndpoint endpoint, EndpointDispatcher endpointDispatcher)
            {
            }
 
            public void Validate(ServiceEndpoint endpoint)
            {
                if (endpoint.ListenUri.Scheme != "https")
                {
                    throw new InvalidOperationException();
                }
            }
        }
    }
In alternativa, è possibile aggiungere la seguente impostazione di endpoint per l'insieme di parametri BindingParameter:
string ValidateOptionalClientCertificatesString = "wcf:HttpTransport:ValidateOptionalClientCertificates";
            Dictionary<string, object> endpointSettings = new Dictionary<string, object>();
            endpointSettings.Add(ValidateOptionalClientCertificatesString, true);
            bindingParameters.Add(endpointSettings);


Problema 3

Quando si esegue un servizio WCF che supporta WS-Discovery su protocollo UDP (User Datagram) su un server, si potrebbe verificarsi uno o più dei seguenti problemi:
  • Utilizzo della CPU aumenta in modo imprevisto nel server.
  • Il traffico multicast è superiore al previsto.
  • Molti messaggi di errore SOAP vengono osservati in una rete in cui .NET Framework 4.5 viene distribuito su tutti o un sottoinsieme di computer.
Questa correzione impedisce che i messaggi di errore SOAP viene restituito da un endpoint di tipo UDP se viene ricevuto un messaggio multicast WS-Discovery su un endpoint che non è configurato per WS-Discovery.

Nota. Questi problemi possono verificarsi anche se il servizio non è stato compilato per il 4.5 di .NET Framework di destinazione. Questi problemi potrebbero verificarsi in un ambiente o in rete in cui è presente in uno o più endpoint 4.5 di Framework .NET.

Problemi di Windows Presentation Foundation (WPF)


Problema 1

Una riduzione delle prestazioni di stampa si verifica quando si utilizza un.NET basate su Framework 4.5 WPF servizio per la stampa su una stampante Graphic Device Interface (GDI) su un sistema operativo. Questo problema si verifica in presenza delle seguenti condizioni:
  • Il sistema operativo che ospita il servizio utilizza una lingua diversa dall'inglese.
  • Il sistema operativo è uno dei seguenti prodotti:
    • WPF versione 4.0
    • WPF versione 4.5
    • WPF 3.5 e l'aggiornamento rapido descritto nell'articolo della Microsoft Knowledge Base riportato di seguito (o un hotfix di aggiornamento che include questo aggiornamento rapido):
      980294 I caratteri nel tipo di carattere del codice a barre vengono stampati il tipo di carattere Wingdings in un documento XPS creato mediante l'utilizzo di 3.0 di.NET Framework
  • Si stampa un documento contenente tutti i blocchi di testo.
Questo problema si verifica perché un'operazione di ricerca si verifica ogni volta che il processo di stampa chiama un blocco di testo per trovare il tipo di carattere GDI che consente di visualizzare il testo. L'utilizzo delle risorse dell'operazione di ricerca è aumentata applicando la correzione viene distribuita in KB980294, WPF versione 4.0 e WPF versione 4.5. Inoltre, l'utilizzo delle risorse dell'operazione di ricerca domina l'utilizzo delle risorse globali del processo di stampa. Questo hotfix risolve un problema noto nella logica che memorizza nella cache i risultati di operazioni di ricerca. Dopo avere applicato l'hotfix, l'utilizzo delle risorse dell'operazione di ricerca si verifica una sola volta per ogni tipo di carattere GDI invece che si verificano una sola volta per ogni blocco di testo.

Problema 2

Si consideri lo scenario seguente:
  • Si dispone di un'applicazione basata su .NET Framework 4.5 che contiene un controllo WPF modificabile. Il controllo utilizza un provider di servizi Internet (IME, Input Method Editor).
  • È possibile immettere testo nel controllo.
  • Il controllo può modificare il testo è di input. Di seguito è riportati alcuni esempi di questo comportamento:
    • Si supponga di disporre di una casella di testo controllo dispone della proprietà di testo con associazione a dati. Il trigger di origine di aggiornamento per un'associazione di TextBox della proprietà è impostato su PropertyChanged. Come il testo di input, viene inviato a una proprietà di un elemento di dati sottostante è descritto nel percorso dell'associazione. Inoltre, il testo può sostituito con una stringa diversa dall'elemento di dati o per i convertitori che sono coinvolti nell'associazione.
    • Si supponga di avere un controllo casella combinata modificabile con attivata l'impostazione di ricerca. Durante l'immissione di testo, casella combinata che cerca di far corrispondere il testo rispetto all'elenco delle opzioni disponibili. Se il controllo consente di trovare un'opzione che inizia con il testo, il testo verrà sostituito dal testo integrale dell'opzione corrispondente.
  • Si attiva l'IME inviare un messaggio WM_IME_CHAR a un'applicazione WPF quando il controllo è nello stato "testo è stato modificato dal controllo".

    Nota. L'esatta sequenza di caratteri che fa sì che questo messaggio presenta notevoli differenze tra un IME a altro. Alcuni IME non inviano questo messaggio affatto.
In questo scenario, l'applicazione basata su .NET Framework 4.5 potrebbe bloccarsi con un'eccezione InvalidOperationException.

Per risolvere il problema, applicare l'aggiornamento rapido. Questo hotfix risolve anche un problema specifico in cui Visual Studio 2012 si blocca quando si modifica un Team Foundation Server (TFS) elemento insieme a Engkoo Pinyin IME abilitato di lavoro. Di seguito è una descrizione dettagliata del problema:

Si supponga di inserire testo nel campo "Assegnato a" di un elemento di lavoro in Visual Studio 2012. Quando si premere INVIO dopo l'immissione del testo, l'IME per il Engkoo invia il messaggio WM_IME_CHAR. Di conseguenza, Visual Studio 2012 si blocca.

NotaImmissione di testo ingli altri campi dell'elemento di lavoro TFS possono causare questo problema.
Nota. Questo problema si verifica anche in WPF versione 4.0 o una versione precedente di WPF. Tuttavia, la correzione si applica solo a WPF versione 4.5.
Problema 3

Si consideri lo scenario seguente:
  • Si dispone di un'applicazione WPF che consente di dichiarare una proprietà con associazione a dati. La proprietà con associazione a dati contiene un'associazione con un percorso complesso. Ad esempio, l'associazione ha il seguente percorso:
    {Binding Path=A.B.C.D}
  • Creazione di un modello di dati che genera una notifica PropertyChanged per alcuni componenti del percorso su un thread di lavoro. Ad esempio, il thread di lavoro genera una notifica di modifica di proprietà C.

    Note
    • Il thread di lavoro può essere un thread diverso dal thread dell'interfaccia utente.
    • Il thread dell'interfaccia utente è il thread che è stato dichiarato mediante l'associazione.
  • Prima che il thread dell'interfaccia utente elabora la notifica PropertyChanged, il modello di dati genera un'altra notifica PropertyChanged per un componente precedente del percorso. Ad esempio, si dispone di un thread genera una notifica di modifica di proprietà A.

    Nota. La seconda notifica PropertyChanged può verificarsi in qualsiasi thread. Ad esempio il thread dell'interfaccia utente.
In questo caso, viene ignorata la seconda notifica. Inoltre, si verifica una perdita di dati. Ad esempio, proprietà D Ottiene il valore originale della proprietà A. Tuttavia, il risultato previsto è quella proprietà che d Ottiene il nuovo valore della proprietà A.

Nota. Questo problema può interessare anche una versione precedente rispetto alla versione 4.5 di WPF. Tuttavia, la correzione si applica solo a WPF versione 4.5.


N. 4

Si consideri lo scenario seguente:
  • Si dispone di un'applicazione WPF che esegue il codice per dichiarare un controllo TextBlock e il codice è simile al seguente:
    <TextBlock TextTrimming="CharacterEllipses" TextWrapping="NoWrap">
  • Input di testo in una stringa lunga è 9600 caratteri o più lungo.
  • Si esegue l'applicazione in un computer che esegue WPF versione 4.5.
In questo scenario, il controllo TextBlock consente di visualizzare diverse righe di testo e ogni riga di testo termina con i puntini di sospensione. Ad esempio, è il numero di righe visualizzate n/ 9600.

Nota.n è un segnaposto che rappresenta la lunghezza del testo originale. Tuttavia, il risultato previsto è che il controllo TextBlock viene visualizzata una sola riga di testo che termina con i puntini di sospensione.

Proprietà

Identificativo articolo: 2783808 - Ultima modifica: mercoledì 19 dicembre 2012 - Revisione: 1.0
Le informazioni in questo articolo si applicano a:
  • Microsoft .NET Framework 4.5
Chiavi: 
kbqfe kbhotfixserver kbfix kbexpertiseadvanced kbsurveynew kbmt KB2783808 KbMtit
Traduzione automatica articoli
Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 2783808
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti