Conectați-vă cu Microsoft
Conectați-vă sau creați un cont
Salut,
Selectați un alt cont.
Aveți mai multe conturi
Alegeți contul cu care doriți să vă conectați.

Consultați produsele și sistemele de operare la care se aplică acest articol.

Acest articol descrie 3139550 de remediere rapidă care sunt disponibile pentru Microsoft .NET Framework 4.6.1 și .NET Framework 4.6 pe Windows 8.1, Windows RT 8.1 și Windows Server 2012 R2. Pentru mai multe informații despre remedierile din 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 KB3139550 a fost suprasponicată cu cele mai recente actualizări de .NET Framework, care conțin toate remedierile care au fost incluse anterior în KB3139550. Se recomandă să instalați cele mai recente actualizări de .NET Framework.

Pentru mai multe informații despre descărcarea fișierelor de asistență Microsoft, faceți clic pe următorul număr de articol pentru a merge la articolul din 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 TreeViewItem în afara contextului unui TreeView, aplicația poate întâlni o excepție InvalidCastException a cărei trasare de stivă începe după cum urmează:

Sistem. Windows. Controls.VirtualizingStackPanel.FindScrollOffset(Visual v)
Notă Această excepție apare atunci când 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 contacte. De exemplu, această excepție apare dacă declarați un TreeViewItem ca rădăcină a unui DataTemplate, iar DataTemplate este utilizat ca Baza de celule a unei coloane DataGrid.


 

Problema 2

Atât System.Web.Caching, cât și System.Runtime.Caching raportează dimensiunea memoriei care este utilizată de întregul AppDomain în locul memoriei care este utilizată de elementele din cache.

Aceasta este o regresie de la .NET Framework 4,5 ca urmare a unei modificări în implementarea Timer. În plus față de raportarea unei dimensiuni greșite, obiectele suplimentare la care face referire memoria cache pot afecta semnificativ latența gen2 GC. În scenariile ASP.NET găzduire, memoria cache acalculat, de asemenea, dimensiunea tuturor memoriei cache din toate domeniile de aplicații (așa cum este raportat printr-un "Cache % Process Memory Limit Used" ASP.NET performance counter) atunci când domeniile de aplicații au fost reciclate.

Această remediere elimină referințele neprevăzute din cache la alte obiecte de domeniu ale aplicației, astfel încât să fie raportată dimensiunea corectă. Această remediere include și modificări pentru îmbunătățirea la lateței pentru System.Runtime.Cache pe computere cu mai multe core care utilizează GC server. În plus, după ce se aplică această remediere, dimensiunea tuturor memoriilor cache din scenariile de reciclare a domeniului aplicațiilor este calculată corect.


 

Problema 3

Atunci când aveți o aplicație Windows Presentation Foundation (WPF) care se bazează pe promoția mouse-ului pentru mutările tactile pentru a gestiona interacțiunea cu utilizatorul tactil (nu prin utilizarea directă a evenimentelor tactile), este posibil să vă experimentați un volum neobișnuit de mic de mutări ale mouse-ului promovat.

Anterior, promoția cu mouse-ul limitate la atingere cu mouse-ul pentru a evita o deplasare mare a volumului de atingere copleșitor al dispecerului. În ecranul .NET Framework 4.6.1, a fost introdusă o remediere pentru a regla numărul de mutări tactile procesate. După această modificare, throtarea promoțiilor de mouse a determinat o reducere suplimentară a numărului de mutări de mouse care au fost generate. Acum, există o corespondență unu-la-unu între evenimentele de mutare tactilă și evenimentele de mutare a mouse-ului promovate.


 

Problema 4

Să presupunem că lucrați la o aplicație WPF care vizează .NET Framework 4.6. Încercați să setați valoarea CurrentThread.CurrentCulture sau CurrentThread.CurrentUICulture în orice metodă care este invocată de Expeditorul WPF utilizând dispeceratulOperament. De exemplu, încercați să setați această valoare într-o handler de evenimente UI sau în constructorul de mainWindow. În această situație, valorile CurrentCulture și CurrentUICulture sunt resetate la valorile anterioare respective de la sfârșitul metodei. Dacă o aplicație setează CurrentUICulture în constructorul de MainWindow sau într-o handler Button Click, acea setare revine la cultura UI de sistem.

Această remediere asigură că valorile CurrentThread.CurrentCulture/CurrentUICulture setate în metodele dintr-o aplicație WPF persistă în același mod ca înainte de .NET Framework 4.6.


 

Problema 5

În .NET Framework 4.6, o semnalizare nouă, TaskContinuationOptions.RunContinuationsAsynchronously, este adăugată la biblioteca de activități. Totuși, atunci când utilizați această semnalizare împreună cu Activitate.WhenAll, Task.WhenAny sau Task.Unwrap, semnalizarea nu are 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

În raportul .NET Framework 4.6, există o eroare în AppContext care determină ca siguranța firelor metodelor AppContext să fie implementată incorect. AppContext face parte din infrastructură pentru a reduce modificările de rupere. Puteți utiliza AppContext pentru a seta și a regăsi semnalizări și pentru a lua decizii în aplicația dvs. pe baza datelor.

Această remediere permite siguranța corectă a firului pentru metodele din AppContext legate de setarea și regăsirea valorilor de comutare.


 

Problema 7

Atunci când întâlniți un caz edge care are modelul dvs. de alocare și de unicitate și aveți nevoie de un segment nou în coșul dvs. gestionat, un coș 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 procesele NGEN pot experimenta o cădere neașteptată.

Problema 9

RyuJit generează instrucțiuni incorecte pentru a compara numerele întregi nesemnate pe 16 biți la înregistrare. Se produce un rezultat incorect dacă valorile de intrare au valori MSB diferite și dacă comparați instrucțiunile care sunt generate, utilizați operandii de înregistrare.

Această remediere generează instrucțiuni corecte.
 

Se aplică la

Acest articol se aplică la următoarele:
 

  • Microsoft .NET Framework 4.6.1

  • Microsoft .NET Framework 4.6, atunci când este utilizat cu:
     

    • Windows 8.1

    • Windows RT 8.1

    • Windows Server 2012 R2 Datacenter

    • Windows Server 2012 R2 Essentials

    • Windows Server 2012 R2 pentru sisteme încorporate

    • Windows Server 2012 R2 Foundation

    • Windows Server 2012 R2 Standard

Aveți nevoie de ajutor suplimentar?

Doriți mai multe opțiuni?

Explorați avantajele abonamentului, navigați prin cursurile de instruire, aflați cum să vă securizați dispozitivul și multe altele.

Comunitățile vă ajută să adresați întrebări și să răspundeți la întrebări, să oferiți feedback și să primiți feedback de la experți cu cunoștințe bogate.

Au fost utile aceste informații?

Cât de mulțumit sunteți de calitatea limbajului?
Ce v-a afectat experiența?
Apăsând pe Trimitere, feedbackul dvs. va fi utilizat pentru a îmbunătăți produsele și serviciile Microsoft. Administratorul dvs. IT va avea posibilitatea să colecteze aceste date. Angajamentul de respectare a confidențialității.

Vă mulțumim pentru feedback!

×