Acest articol descrie un set de remedieri rapide care este disponibil pentru Microsoft .NET Framework 4.6.1 și 4.6. Pentru mai multe informații despre problemele pe care le remediază acest set de remedieri rapide, consultați secțiunea Probleme pe care le remediază acest set de remedieri rapide .
Rezolvare
Descărcarea informațiilor
Remedierea rapidă care corespunde cu KB3139549 a fost suprasponicată cu cele mai recente actualizări .NET Framework, care conțin toate remedierile care au fost incluse anterior în KB3139549. Se recomandă să instalați cele mai recente actualizări de .NET Framework.
Pentru informații suplimentare despre modul de descărcare a fișierelor de suport Microsoft, faceți clic pe următorul număr de articol pentru a vizualiza articolul în Baza de cunoștințe Microsoft:
119591 Cum să obțineți fișiere de asistență Microsoft de la serviciile online Microsoft a scanat acest fișier împotriva virușilor. Microsoft a utilizat cel mai recent software de detectare a virușilor care a fost disponibil la data postării fișierului. Fișierul este stocat pe servere cu securitate îmbunătățită care previn modificările neautorizate ale fișierului.
Mai multe informații
Cerinţe preliminare
Pentru a aplica această remediere rapidă, trebuie să aveți .NET Framework 4.6.1 sau .NET Framework 4.6 instalată.
Cerință de repornire
Trebuie să reporniți computerul după ce aplicați această remediere rapidă dacă se utilizează oricare dintre fișierele afectate. Vă recomandăm să închideți toate aplicațiile .NET Framework bază de date înainte de a aplica această remediere rapidă.
Informații de înlocuire a remedierii rapide
Acest pachet de remedieri rapide nu înlocuiește un pachet de remedieri rapide lansat anterior.
Probleme pe care le remediază acest set de remedieri rapide
Problema 1
Atunci când o aplicație WPF utilizează un element TreeViewItem în afara contextului TreeView, aplicația poate întâlni o excepție InvalidCastException a cărei trasare de stivă începe astfel:
Sistem. Windows. Controls.VirtualizingStackPanel.FindScrollOffset(Visual v)
Notă Această excepție apare atunci când elementul TreeViewItem se află într-un control de listă virtualizat (de exemplu, un control ListBox, DataGrid sau ListView) care încearcă să găsească deplasarea de defilare a TreeViewItem sau unul dintre propriele sale boxe. De exemplu, dacă declarați un TreeViewItem ca rădăcină a unui DataTemplate, iar Baza de date se utilizează ca CellTemplate a unei coloane DataGrid, apare această excepție.
Problema 2
Atât System.Web.Caching, cât și System.Runtime.Caching raportează dimensiunea memoriei utilizate de întregul AppDomain în locul dimensiunii memoriei utilizate de elementele din cache.
Aceasta este o problemă de regresie de la .NET Framework 4.5 în care s-a efectuat o modificare în implementarea Timer. În plus față de raportarea unei dimensiuni incorecte, obiectele suplimentare la care face referire memoria cache pot afecta semnificativ latența Pentru Gen2 GC. În ASP.NET de găzduire, memoria cache calculează, de asemenea, greșit dimensiunea tuturor memoriei cache din toate domeniile de aplicație (raportată prin limita memoriei de proces - cache % utilizat ASP.NET counter de performanță) atunci când domeniile de aplicații sunt reciclate. Remedierea elimină referințele neprevăzute din cache la restul obiectelor de domeniu ale aplicației, apoi este raportată dimensiunea corectă. De asemenea, include modificări pentru a îmbunătăți latența pentru System.Runtime.Cache pe computerele cu mai multe nucleu care utilizează GC server. În sfârșit, această remediere calculează corect dimensiunea tuturor memoriei cache din scenariile de reciclare a domeniului aplicațiilor.Problema 3
Atunci când aveți o aplicație Windows Presentation Foundation (WPF) care se bazează pe promovarea mutării unui mouse pentru a gestiona interacțiunea cu utilizatorul cu mutarea tactilă (în loc să utilizați direct evenimentele tactile), este posibil să vă experimentați un volum neobișnuit de mic de mutări promovate ale mouse-ului.
În trecut, promoția cu mouse-ul limitate la wpf a rulării tactile se mută, deoarece volumul rulării tactile l-a copleșit pe dispecer. În prima .NET Framework 4.6.1, a fost efectuată o remediere pentru acest comportament. Remedierea reia numărul de mutări tactile procesate. Prin urmare, reducerea promoțiilor de mouse a determinat generarea unei reduceri suplimentare a mutării mouse-ului. În acest roll de actualizare, throtarea promoțiilor de mouse a fost eliminată și acum ar trebui să existe o corespondență de la 1 la 1 între evenimentele de mutare tactilă și evenimentele de mutare a mouse-ului promovate.Problema 4
Să presupunem că lucrați cu o aplicație WPF care vizează .NET Framework 4.6. De exemplu, să presupunem că încercați să setați CurrentThread.CurrentCulture sau CurrentThread.CurrentUICulture în orice metodă (cum ar fi o handler de eveniment UI sau constructorul MainWindow) care este invocată de Dispeceratul WPF utilizând un DispatcherOperation. În această situație, valorile CurrentCulture și CurrentUICulture sunt resetate la valorile lor anterioare la sfârșitul metodei. Dacă o aplicație setează CurrentUICulture în constructorul său MainWindow sau o handler Button Click, setarea revine la cultura UI de sistem.
Această remediere asigură că valorile CurrentThread.CurrentCulture/CurrentUICulture care pot fi setate în metodele dintr-o aplicație WPF persistă la fel ca înainte de .NET Framework 4.6.Problema 5
În .NET Framework 4.6, o semnalizare nouă, TaskContinuationOptions.RunContinuationsAsynchronously, a fost adăugată la biblioteca de activități. Totuși, când utilizați această semnalizare împreună cu Activitate.Când toate, Activitate.CândAny sau Task.Unwrap, aceasta nu are niciun efect. Semnalizarea a fost introdusă pentru a evita anumite condiții de blocare blocată. Această remediere asigură că toate tipurile de continuare activitate respectă noul semnalizator.
Problema 6
AppContext face parte din infrastructură pentru a reduce modificările de rupere. Puteți utiliza AppContext pentru a seta, a regăsi semnalizări și a lua decizii în aplicația dvs. care se bazează pe aceste date. În raportul .NET Framework 4.6, există o eroare în AppContext în care siguranța de siguranță a metodelor AppContext este implementată incorect.
Această remediere permite siguranța firului corect pentru metodele din AppContext legate de setarea și regăsirea valorilor de comutare.Problema 7
Atunci când ajungeți la un caz limită cu alocarea și modelul de unicitate și aveți nevoie de un segment nou în coșul de gunoi gestionat, coșul de gunoi poate calcula o dimensiune de comitere mai mică decât ar trebui. Aceasta provoacă o încălcare a accesului în timpul fazei compacte, deoarece coșul de gunoi încearcă să scrie pentru a anula decomisarea memoriei. Această remediere calculează dimensiunea corect.
Problema 8
Atunci când creați cod nativ pentru anumite metode, aplicațiile .NET Framework și procesele NGEN se pot blochează.
Problema 9
RyuJit generează instrucțiuni incorecte pentru compararea numerelor întregi nesemnate pe 16 biți la înregistrări. Generează rezultate incorecte dacă valorile de intrare au valori MSB diferite și, prin urmare, generează instrucțiuni de comparare care utilizează doar operandi. Această remediere generează instrucțiuni corecte.