Questo articolo descrive l'aggiornamento cumulativo di hotfix 3088956 disponibile per Microsoft .NET Framework 4.6. Per ulteriori informazioni sui problemi risolti con l'aggiornamento cumulativo dell'hotfix, vedere la sezione "Problemi che questo aggiornamento rapido cumulativo corregge".
Risoluzione
È ora disponibile un hotfix supportato da Microsoft. Tuttavia, è destinato a correggere solo il problema descritto in questo articolo. Applicala solo ai sistemi che stanno riscontrando questo problema specifico.Per risolvere il problema, contatta il Servizio Supporto Tecnico Clienti Microsoft per ottenere l'hotfix. Per un elenco completo dei numeri di telefono del Servizio Supporto Tecnico Clienti Microsoft e per informazioni sui costi di supporto, visita il seguente sito Web Microsoft:
http://support.microsoft.com/contactus/?ws=supportNota In casi speciali, gli addebiti normalmente sostenuti per le chiamate al supporto tecnico possono essere annullati se un supporto tecnico Microsoft Professional determina che un aggiornamento specifico risolverà il problema. I soliti costi del supporto verranno applicati a ulteriori domande e problemi di supporto che non sono idonei per l'aggiornamento specifico in questione.
Ulteriori informazioni
Requisiti
Per applicare questo hotfix, è necessario che sia installato .NET Framework 4.6.
Richiesta di riavvio
È necessario riavviare il computer dopo aver applicato questo hotfix se vengono utilizzati tutti i file interessati. È consigliabile chiudere tutte le applicazioni basate su .NET Framework prima di applicare questo hotfix.
Informazioni sulla sostituzione degli hotfix
Questo pacchetto hotfix non sostituisce un pacchetto hotfix precedentemente rilasciato.
Problemi risolti dall'aggiornamento cumulativo di questo hotfix
Problema 1Se si ha un sito Web ASP.NET in esecuzione su una versione a 32 bit di .NET Framework 4.6 o AMD64 della piattaforma .NET Framework 4.6 con RyuJit disabilitato, si potrebbe verificare un arresto anomalo w3wp a causa di ThreadAbortException non gestita. Quando si verifica l'arresto anomalo, è possibile visualizzare il log seguente nel registro eventi di Windows:
Si è verificata un'eccezione non gestita e il processo è stato terminato.ID applicazione: [APPLICATIONID]ID processo: [ProcessID]Exception: System.Threading.ThreadAbortExceptionMessage: Thread was being aborted.StackTrace: at System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context)at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
Problema 2Si supponga di avere un client WCF che si connette al servizio WCF tramite il servizio routing WCF. Se il servizio finale genera un'eccezione imprevista che non è un tipo di FaultException o le modifiche di configurazione, WCF Routing Service potrebbe non instradare le richieste successive al servizio finale.Quando si verifica questo problema, si riceve l'eccezione seguente:
System.ServiceModel.ProtocolException: questo canale non può più essere utilizzato per inviare messaggi poiché la sessione di output è stata chiusa automaticamente a causa di un arresto avviato dal server. Disabilitare la chiusura automatica impostando DispatchRuntime.AutomaticInputSessionShutdown su false o valutare la possibilità di modificare il protocollo di arresto con il server remoto.
Stack trace information:at System.ServiceModel.Channels.ServiceChannel.PrepareCall(ProxyOperationRuntime operation, Boolean oneway, ProxyRpc& rpc)at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.Begin()at System.ServiceModel.Channels.ServiceChannel.BeginCall(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, TimeSpan timeout, AsyncCallback callback, Object asyncState)in System.ServiceModel.Channels.ServiceChannelProxy.InvokeBeginService(IMethodCallMessage metodoCall, Operazione ProxyOperationRuntime)at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)at System.ServiceModel.Routing.IRequestReplyRouter.BeginProcessRequest(Message message, AsyncCallback callback, Object state)in System.ServiceModel.Routing.ClientFactory.RequestReplyClient.OnBeginOperation(Message message, callback AsyncCallback, stato oggetto)at System.ServiceModel.Routing.ClientFactory.RoutingClientBase'1.OperationAsyncResult.CallOperation()at System.ServiceModel.Routing.ClientFactory.RoutingClientBase'1.OperationAsyncResult.. ctor(RoutingClientBase'1 parent, Message requestMessage, Transaction, AsyncCallback callback, Object state)at System.ServiceModel.Routing.ClientFactory.RoutingClientBase'1.BeginOperation(Message, Transaction transaction, AsyncCallback callback, Object state)at System.ServiceModel.Routing.ProcessRequestAsyncResult'1.StartProcessing()in System.ServiceModel.Routing.ProcessRequestAsyncResult'1..ctor(RoutingService Service, Message Message, AsyncCallback callback, Object state)at System.ServiceModel.Routing.RoutingService.BeginProcessRequest[TContract](Message message, AsyncCallback callback, Object state)at System.ServiceModel.Routing.RoutingService.System.ServiceModel.Routing.IRequestReplyRouter.BeginProcessRequest(Message message, AsyncCallback callback, Object state)at AsyncInvokeBeginBeginProcessRequest(Object , Object[] , AsyncCallback , Object )at System.ServiceModel.Dispatcher.AsyncMethodInvoker.InvokeBegin(Object instance, Object[] inputs, AsyncCallback callback, Object state) Problema 3Questo è un aggiornamento per supportare il nuovo simbolo Georgian Lari. Il paese della Georgia ha introdotto un nuovo simbolo di valuta per il Lari, ma il nome della valuta non viene cambiato. Il nuovo simbolo di valuta è stato aggiunto anche allo standard Unicode. Questo aggiornamento assicura che il simbolo di valuta corretto venga visualizzato da .NET Framework in base alle impostazioni locali di sistema.Problema 4Se si verifica una raccolta Gen2 durante le chiamate Parallel.ForEach, potresti riscontrare blocchi lunghi dopo l'installazione di Visual Studio 2015 o .NET Framework 4.6 senza Visual Studio.Risoluzione: questo aggiornamento aggiorna il Garbage Collector risolvendo i blocchi del sistema causati da questo problema.Problema 5Dopo aver installato .NET Framework 4.6, i metodi DateTime.Parse e Date.TryParse non funzionano correttamente. Questo problema può verificarsi con le impostazioni cultura seguenti:
-
fi-FI
-
nb-NO
-
nb-SJ
-
Simbolo di un'attività
-
Icona del pulsante
-
Icona del pulsante
-
Pulsante Disatale
Risoluzione:questo aggiornamento consente a DateTime.Parse e Date.TryParse di funzionare correttamente nelle impostazioni cultura che usano lo stesso separatore di data e ora.Problema 6Dopo aver installato .NET Framework 4.6, .NET Framework 4.6 utilizza un nuovo compilatore a 64 bit chiamato RyuJIT. In alcuni casi, il nuovo compilatore genera codice errato che causa comportamenti imprevedibili o arresti anomali. Risoluzione:questo aggiornamento risolve molti problemi nel compilatore RyuJIT. Se l'applicazione continua a funzionare in modo imprevedibile dopo l'installazione di questo aggiornamento, vedi altre istruzioni dettagliate per la risoluzione dei problemi.Ulteriori passaggi:se viene determinato che RyuJIT potrebbe essere coinvolto nel problema seguendo la procedura di risoluzione dei problemi al link, registra il problema all'http://connect.microsoft.com. Includere il maggior numero di dettagli possibile nel report e anche codice per riprodurre il problema.