应用对象
.NET Framework 4.6.2 .NET Framework 4.6.2 Windows 8 Windows RT Windows Server 2012 Datacenter Windows Server 2012 Datacenter Windows Server 2012 Essentials Windows Server 2012 for Embedded Systems Windows Server 2012 Standard Windows Server 2012 Standard

本文介绍适用于 Microsoft .NET Framework 4.6.1 和 4.6 的修补程序汇总。 有关此修补程序汇总修复的问题详细信息,请参阅此 修补程序 汇总修复的问题部分。

解决方法

下载信息

与 KB3139549 对应的修补程序已取代 .NET Framework 的最新更新,其中包含 KB3139549 中以前包含的所有修补程序。 建议安装最新更新的 .NET Framework

有关如何下载 Microsoft 支持文件的更多信息,请单击以下文章编号,以查看 Microsoft 知识库中相应的文章:

119591 如何从联机服务获取 Microsoft 支持文件 Microsoft 扫描了此文件中的病毒。 Microsoft 使用的是文件发布时可以获得的最新病毒检测软件。 该文件存储在安全性得到增强的服务器上,以防止对文件进行未经授权的更改。

更多信息

先决条件

若要应用此修补程序,必须安装 .NET Framework 4.6.1 或 .NET Framework 4.6。  

重启要求

如果正在使用任何受影响的文件,则必须在应用此修补程序后重新启动计算机。 建议在应用此修补程序.NET Framework所有基于应用程序的应用程序。  

修补程序替换信息

此修补程序包不会替换以前发布的修补程序包。

此修补程序汇总修复的问题

问题 1

当 WPF 应用程序使用 TreeView 上下文外部的 TreeViewItem 元素时,应用程序可能会遇到一个 InvalidCastException 异常,其堆栈跟踪启动如下:  

系统。Windows。Controls.VirtualizingStackPanel.FindScrollOffset (Visual v)

注意 当 TreeViewItem 元素位于虚拟化列表控件 (例如 ListBox、DataGrid 或 ListView 控件) 尝试查找 TreeViewItem 或其后代之一的滚动偏移量时,会出现此异常。 例如,如果将 TreeViewItem 声明为 DataTemplate 的根,并且 DataTemplate 用作 DataGrid 列的 CellTemplate,则会发生此异常。  

问题 2

两个 System.Web。Caching System.Runtime。Caching报告整个 AppDomain 使用的内存大小,而不是缓存项使用的内存大小。这是 4.5 .NET Framework中的回归问题,其中进行了计时器实现更改。 除了报告不正确的大小外,缓存引用的其他对象还可能会影响 Gen2 GC 延迟。 在 ASP.NET 托管方案中,缓存还会错误地计算所有应用程序域中的所有缓存的大小 (在回收应用程序域时通过缓存使用的进程内存限制 ASP.NET 性能计数器) 报告。此修补程序将删除缓存中对应用域对象其余对象的意外引用,然后报告正确的大小。 它还包括改进 System.Runtime 延迟的更改。Caching服务器 GC 的多核计算机上运行。 最后,此修补程序正确计算应用域回收方案中所有缓存的大小。  

问题 3

当有一个 Windows Presentation Foundation (WPF) 应用程序依赖于升级鼠标移动来处理触摸移动用户交互 (而不是直接使用触摸事件) 时,可能会遇到非常少的已升级鼠标移动。 过去,WPF 限制触摸移动的鼠标提升,因为触摸移动量使调度程序不知所措。 在 .NET Framework 4.6.1 中,已针对此行为进行了修复。 此修补程序会限制处理的触摸移动数。 因此,鼠标提升限制导致生成的鼠标移动进一步减少。 在此更新汇总中,已删除了鼠标促销限制,触摸移动事件与提升的鼠标移动事件之间的对应关系现在应接近 1 到 1。   

问题 4

假设你使用面向 4.6 .NET Framework WPF 应用程序。 例如,假设你尝试在任何方法 ((例如 UI 事件处理程序或 WPF 调度程序使用 DispatcherOperation 调用的 MainWindow 构造函数) )中设置 CurrentThread.CurrentCulture 或 CurrentThread.CurrentUICulture。 在这种情况下,CurrentCulture 和 CurrentUICulture 值将重置为方法末尾的其各自早期值。 如果应用程序在其 MainWindow 构造函数或按钮单击处理程序中设置 CurrentUICulture,该设置将还原为系统 UI 区域性。此修补程序确保可在 WPF 应用程序中的方法中设置的 CurrentThread.CurrentCulture/CurrentUICulture 值与在 .NET Framework 4.6 之前一样。  

问题 5

在 .NET Framework 4.6 中,向任务库添加了一个新标志 TaskContinuationOptions.RunContinuationsAsynchronously。 但是,当将此标志与 Task.WhenAll、Task.WhenAny 或 Task.Unwrap 结合使用时,它没有任何效果。 引入 标志是为了避免出现某些死锁情况。 此修补程序确保所有类型的任务延续都遵守新标志。

问题 6

AppContext 是基础结构的一部分,可减少中断性更改。 可以使用 AppContext 设置和检索标志,并基于该数据在应用程序中做出决策。 在 .NET Framework 4.6 中,AppContext 中存在错误实现 AppContext 方法的ad-safety 的 bug。 此修补程序为 AppContext 上与设置和检索开关值相关的方法启用正确的线程安全。

问题 7

如果达到分配和生存模式的边缘情况,并且需要在托管堆上创建一个新段,垃圾回收器可能会计算比应该更小的提交大小。 这会导致压缩阶段出现访问冲突,因为垃圾回收器尝试写入未提交的内存。 此修补程序正确计算大小。

问题 8

为某些方法创建本机代码时,.NET Framework和 NGEN 进程可能会崩溃。

问题 9

RyuJit 生成不正确的指令来比较寄存器上的 16 位无符号整数。 如果输入值具有不同的 MSB 值,则生成不正确的结果,因此会生成仅使用寄存器操作数的比较指令。 此修补程序生成正确的说明。

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。