Se de produkter og operativsystemer, som denne artikel gælder for. I denne artikel beskrives hotfix-opdateringspakke 3139550, der er tilgængelig til Microsoft .NET Framework 4.6.1 og .NET Framework 4.6 på Windows 8.1, Windows RT 8.1 og Windows Server 2012 R2. Du kan finde flere oplysninger om rettelserne i denne hotfixopdatering i afsnittet "Problemer, som denne hotfixopdatering løser".
Løsning
Overførselsoplysninger
Det hotfix, der svarer til KB3139550, er blevet overflødigt med de seneste opdateringer af .NET Framework, som indeholder alle rettelser, der tidligere blev inkluderet i KB3139550. Det anbefales at installere de seneste opdateringer af .NET Framework.
Du kan finde flere oplysninger om, hvordan du henter Microsoft-supportfiler, ved at klikke på nummeret i følgende artikel for at gå til artiklen i Microsoft Knowledge Base:
119591 Sådan får du Microsoft-supportfiler fra onlinetjenester, som Microsoft har scannet denne fil for virus. Microsoft brugte den nyeste antivirussoftware, der var tilgængelig på den dato, hvor filen blev publiceret. Filen er placeret på servere med udvidet sikkerhed, der bidrager til at forhindre uautoriserede ændringer af filen.
Flere oplysninger
Forudsætninger
For at anvende dette hotfix skal du have .NET Framework 4.6.1 eller .NET Framework 4.6 installeret.
Krav om genstart
Du skal genstarte computeren, når du har anvendt dette hotfix, hvis der bruges påvirkede filer. Vi anbefaler, at du lukker alle .NET Framework-baserede programmer, før du anvender dette hotfix.
Oplysninger om udskiftning af hotfix
Denne hotfixpakke erstatter ikke en tidligere udgivet hotfixpakke.
Problemer, som denne opdateringspakke til hotfixet løser
Problem 1
Når et WPF-program bruger et TreeViewItem uden for konteksten af en TreeView, kan programmet støde på en InvalidCastException-undtagelse, hvis staksporing starter, som følger:
System. Windows. Controls.VirtualizingStackPanel.FindScrollOffset(Visual v) Bemærk! Denne undtagelse opstår, når TreeViewItem er i et virtualiseret listekontrolelement (f.eks. et ListBox-, DataGrid- eller ListView-kontrolelement), der forsøger at finde rulleforskydningen af TreeViewItem eller en af dets programmer. Denne undtagelse opstår f.eks. hvis du erklærer et TreeViewItem som roden af en DataTemplate, og DataTemplate bruges som CellTemplate for en DataGrid-kolonne.Problem 2
Både System.Web.Caching og System.Runtime.Caching rapporterer størrelsen på den hukommelse, der bruges af hele AppDomain i stedet for den hukommelse, der bruges af cacheelementerne.
Dette er en regression fra .NET Framework 4,5 på grund af en ændring i implementeringen af Timer. Ud over at rapportere den forkerte størrelse kan de ekstra objekter, der refereres til i cachen, påvirke gen2 GC-ventetid betydeligt. I ASP.NET hostingscenarier beregnede cachen også størrelsen af alle cacher i alle appdomæner (som rapporteret via en "Cache % process Memory Limit Used" ASP.NET performance counter), når appdomæner blev genbrugt. Denne løsning fjerner utilsigtede referencer fra cachen til andre appdomæneobjekter, så den korrekte størrelse rapporteres. Denne rettelse indeholder også ændringer, der forbedrer ventetiden for System.Runtime.Caching på kernecomputere, der bruger Server GC. Desuden beregnes størrelsen af alle cacher i appdomænets genbrugsscenarier korrekt, når denne rettelse er anvendt.Problem 3
Når du har et Windows Presentation Foundation (WPF)-program, der afhænger af musekampagne for touchbevægelser til at håndtere berøringsbrugerinteraktion (i stedet for direkte ved hjælp af berøringshændelser), kan du opleve en usædvanlig lav lydstyrke af promoverede musebevægelser.
Tidligere kunne WPF-begrænser musekampagne for touchbevægelser undgå, at en stor mængde touch flytter sig overvældende. I .NET Framework 4.6.1 blev der introduceret en rettelse for at begrænser antallet af touchbevægelser, der behandles. Efter denne ændring medførte begrænsningen af musekampagner en yderligere reduktion i antallet af musebevægelser, der blev genereret. Begrænsningen af musekampagner er nu fjernet, så der bør være næsten en til en-korrespondance mellem touch move-begivenheder og promoverede musemarkørens flytningshændelser.Problem 4
Antag, at du arbejder på et WPF-program, der .NET Framework 4.6. Du forsøger at angive værdien CurrentThread.CurrentCulture eller CurrentThread.CurrentUICulture i en hvilken som helst metode, der er aktiveret af WPF-afsendelse ved hjælp af DispatcherOperation. Du kan f.eks. prøve at indstille denne værdi i en hændelsesbehandler i brugergrænsefladen eller MainWindow-konstruatoren. I denne situation nulstilles værdierne CurrentCulture og CurrentUICulture til deres respektive forrige værdier i slutningen af metoden. Hvis et program indstiller CurrentUICulture i sin MainWindow-konstruator eller i en Knapklikbehandler, ændres denne indstilling til systemets brugergrænsefladekultur.
Denne løsning sikrer, at værdierne CurrentThread.CurrentCulture/CurrentUICulture, der er angivet i metoder i et WPF-program, bevares på samme måde, som de gjorde før .NET Framework 4.6.Problem 5
I .NET Framework 4.6 føjes et nyt flag, TaskContinuationOptions.RunContinuationsAsynchronously, til opgavebiblioteket. Men når du bruger dette flag sammen med Task.WhenAll, Task.WhenAny eller Task.Unwrap, har flaget ingen virkning. Flaget blev introduceret for at undgå visse fastlåste forhold. Denne løsning sikrer, at alle typer Opgave-fortsættelser overholder det nye flag.
Problem 6
I .NET Framework 4.6 er der en fejl i AppContext, der medfører, at trådsikkerhed for AppContext-metoderne bliver implementeret forkert. AppContext er en del af infrastrukturen for at reducere de seneste ændringer. Du kan bruge AppContext til at angive og hente flag og træffe beslutninger i programmet baseret på disse data.
Denne rettelse aktiverer den korrekte trådsikkerhed for metoderne på AppContext, der er relateret til indstilling og hentning af parameterværdier.Problem 7
Når du støder på en kantsag, der har din tildelings- og overlevelsesmønster, og du har brug for et nyt segment på din administrerede kasse, kan en skraldespandsindsamler beregne en størrelse, der er mindre end den skal. Dette medfører en adgangskrænkelse i løbet af komprimeringsfasen, fordi skraldespandsindsamleren forsøger at skrive til ikke-allokeret hukommelse.
Denne rettelse beregner størrelsen korrekt.Problem 8
Når du opretter en lokal kode for visse metoder, kan .NET Framework-programmer og NGEN-processer opleve uventede nedbrud.
Problem 9
RyuJit genererer forkerte instruktioner til sammenligning af 16-bit usignerede heltal i registre. Det frembringer et forkert resultat, hvis inputværdierne har forskellige MSB-værdier, og hvis der sammenlignes med instruktioner, der er genereret, brug registrer operands.
Denne rettelse genererer korrekte instruktioner.Gælder for
Denne artikel gælder for følgende:
-
Microsoft .NET Framework 4.6.1
-
Microsoft .NET Framework 4.6, når det bruges sammen med:
-
Windows 8.1
-
Windows RT 8,1
-
Windows Server 2012 R2-datacenter
-
Windows Server 2012 R2 Essentials
-
Windows Server 2012 R2 til integrerede systemer
-
Windows Server 2012 R2 Foundation
-
Windows Server 2012 R2 Standard
-