本文介绍适用于 Microsoft 3146714 4.6 和 4.6.1 .NET Framework修补程序汇总。 有关修补程序汇总修复的问题详细信息,请参阅"此修补程序汇总修复的问题"部分。
解决方法
与 KB3146714 对应的修补程序已取代 .NET Framework 的最新更新,其中包含 KB3146714 中以前包含的所有修补程序。 建议安装最新更新的 .NET Framework。 若要详细了解如何下载 Microsoft 支持文件,请单击以下文章编号,查看 Microsoft 知识库中的文章:
119591 如何从联机服务获取 Microsoft 支持文件 Microsoft 扫描了此文件中的病毒。 Microsoft 使用的是文件发布时可以获得的最新病毒检测软件。 该文件存储在安全性得到增强的服务器上,以防止对文件进行未经授权的更改。 注意 若要验证修补程序更新版本,请检查 Release 关键字的值以确定已安装的版本。 若要向前兼容,可以检查是否大于或等于下表中列出的值。
修补程序汇总版本 |
版本 DWORD 的值 |
---|---|
适用于 3146711 4.6 .NET Framework版本的修补程序汇总 |
394294 |
若要详细了解如何确定.NET Framework,请参阅如何:确定.NET Framework版本。
更多信息
先决条件
若要应用此修补程序,必须安装 .NET Framework 4.6 或 4.6.1。
重启要求
如果正在使用任何受影响的文件,则应用此修补程序后必须重新启动计算机。 建议在应用此修补程序.NET Framework关闭所有基于应用程序的应用程序。
修补程序替换信息
此修补程序包不会替换以前发布的修补程序包。
此修补程序汇总修复的问题
CLR JIT 问题
C#在安装了 .NET Framework 4.6 且使用 RyuJIT 编译器的计算机上运行代码时,将按引用而不是值传递这些结构。 此 bug 的一种症状是,代码以错误的顺序表示集合中数据, (时序数据) 。 客户端从数据历史家检索时序数据.NET Framework早期版本的行为变化会导致各种症状。 发生此问题的原因是 tmp 变量缺少 lvAddrExposed 标志,该标志充当传递引用参数,进而损坏复制属性阶段。 CLR 问题 从本机映像还原泛型类型时,CLR 类型加载程序中的问题可能会导致死锁。 这会导致 ngen createpdb 命令失败。 此问题通过此修补程序得到解决。 Windows表单问题 当Windows条件为 true 时,窗体打印预览Dialog UI 的初始化速度非常缓慢:-
使用网络打印机。
-
修改此打印机的用户首选项,例如双面设置。
我们为此方案添加了性能优化。 如果未为特定页面修改页面设置,则不通过访问打印机后台处理程序 (重新应用此页面的打印机) 。 如果应用程序使用 QueryPageSettings 事件处理程序修改打印机设置,则即使设置了选择加入标志,受影响页面的打印预览生成性能也不提高。 若要选择加入此优化,应根据 .NET Framework: .NET Framework 4.5.2 的版本将以下密钥添加到 app.config 文件: <?xml version="1.0" encoding="utf-8"?> <配置> < appSettings > <添加 key="OptimizePrintPreview" value="true" /> < /appSettings > </configuration> .NET Framework 4.6 或更高版本: <?xml version="1.0" encoding="utf-8"?> <配置> <运行时> < AppContextSwitchOverrides 值 = "Switch.System.Drawing.Printing.OptimizePrintPreview=true" /> < /runtime> </configuration> 如果应用程序可以在任一版本的 .NET Framework 运行,请在同一文件中同时使用这两个开关。 若要选择退出,请删除开关,或将值设置为 false。 ClickOnce问题 ClickOnce已更新以支持 TLS 1.1 和 1.2。 ClickOnce在运行时自动检测所需的 TLS 协议。 无需执行额外的步骤ClickOnce启用此功能。 请注意ClickOnce在可预见的将来继续支持 TLS 1.0,即使它不再被视为符合 PCI。