发布日期:2020 年7月21日

版本: .Net Framework 3.5 和 4.8

2020年7月21日,适用于 Windows 10 版本1809和 Windows Server 2019 的更新包括 .NET 3.5 和4.8 中的累积可靠性改进。我们建议你将此更新作为常规维护例程的一部分应用。在安装此更新之前,请参阅 先决条件重启要求 部分。

质量与可靠性改进

CLR1

-.NET Framework 4.8 regressed 中的更改在某些 EnterpriseServices 方案中,单线程单元对象可能被视为多线程单元并导致阻塞失败。 此更改现在可以正确地标识单线程单元对象,从而避免此问题。

-解决包含 IBC 配置文件数据的程序集中的问题,导致 Ngen 工作进程崩溃并回退到完整的本机映像。

-解决线程终止传递期间可能出现的罕见故障。

SQL

-SqlBulkCopy 可能会导致事务出现在内存中的 SQL 表中。 客户端可能会看到异常,消息 "执行超时已过期。 在操作完成之前超时时间已过,或者服务器未响应。 SqlBulkCopy 将数据发送到 Sql Server 后,WriteToServer 正在发送关注令牌(取消消息),从而导致服务器中止内存中表的事务。

ASP.NET

-在 ASP.Net 遥测数据中使用 FIPS 兼容的哈希。

-解决了 "未指定" 为 forms 身份验证和会话状态配置节的 "cookieSameSite" 属性的配置中不允许的值的问题。

WPF2

-解决在 WPF TextBox 或 RichTextBox 中启用拼写检查时出现的问题,如 "等" 之类的单词被错误地标识为拼写错误。

-解决在某些每显示器上运行的可识别的 WPF 应用程序在 .NET 4.8 上运行时可能偶尔会遇到 exceptionSystem 崩溃的问题。 ComponentModel Win32Exception。

-解决了 TextBlock 在呈现和点击测试期间(而不是在度量值期间)重排(进行不同的换行决策)的问题。 症状包括缺少文本,并且在编程文本处理期间出现 FailFast 故障。

-解决由于 HostVisual 在错误的线程上断开目标而导致的呈现线程失败问题。

-解决了一个挂起问题,同时滚动树的树为非统一的树视图,在 thata 给定节点的子树中管理其大小有很大不同的子树。

-解决当关闭由用户代码重新 entrantly 关闭的工具提示时可能出现的崩溃问题。

-当 HwndHost 离开可视化树时,将创建一个堆栈跟踪。 这很昂贵,并且通常不必要。 现在,该逻辑已更改为仅在出现反常条件时才创建堆栈跟踪。

-解决 SpeechSynthesizer 中的内存泄漏。

如果系统剪贴板已被另一个进程锁定,则 DataGrid 的 Copy 命令将引发异常。 这会崩溃,因为堆栈上通常没有应用代码来捕获异常。 在这种情况下,TextBox (以及记事本、Word、浏览器等其他应用)的行为是无提示地失败-不会将任何内容复制到剪贴板,但没有异常。 WPF 应用现在可以通过在应用的 app.config 文件中设置 <appSettings> <add key = "ShouldThrowOnDataGridCopyOrCutFailure" 值 = "false"/> </appSettings>来选择此行为。

-解决构建 FixedPage 文档的内部模型时出现的问题。 某些文本出于编辑操作(如选择和复制/粘贴)的顺序出现错误。

WCF3

-在使用 NetTcpBinding 或 NetNamedPipeBinding 时,在 NetworkCredential 的 username 属性中使用的 UPN Windows 用户名与 username@dns 的格式不正确,WCF 会将用户名和域属性放入 "用户名" 和 "域属性"。 在某些情况下,这是无效的,这将导致无法通过身份验证。 此修补程序会在使用 UPN 用户名时删除凭据修改。 通过将 AppSetting "wcf: enableLegacyUpnUsernameFix" 设置为 true,可以重新启用修改。

网络库

-解决 HttpListener 中的内存泄漏。

Winforms

-解决 DataGridView IsReadOnlyaccessibility 状态的问题:讲述人和其他易于访问的工具会相应地宣布只读单元格状态。

-解决当使用 DataGridView ComboBox 单元格类型并选择了 "第3级辅助功能" 的应用程序时,.NET Framework 4.8 中的回归,在编辑单元格时可能会遇到间歇性崩溃。

-解决 ClickOnce RFC3161 时间戳验证代码中的问题。

Winforms 辅助功能改进

在此版本中,我们将添加你的应用程序可以选择加入的新辅助功能改进。 默认情况下,将禁用这些更改。 选择进入在 .NET 4.8 和早期版本中引入的 辅助功能 的应用程序可以将以下兼容性开关添加到应用程序的配置文件:

"Switch.UseLegacyAccessibilityFeatures.4=false"

尤其是,如果应用程序面向 .NET 4.8,请添加以下 AppContextSwitchOverrides 部分:

<?xml version="1.0" encoding+"utf-8" ?>  <configuration>   <startup>    <supportedRuntime version="v4.0" sku=".NETFramework,Versionv4.8" />   </startup>   <runtime>    <!-- AppContextSwitchOverrides value attribute is in the form of key1=true|false;key2=true|false -->    <AppContextSwitchOverrides     value="Switch.UseLegacyAccessibilityFeatures.4=false"/>   </runtime> </configuration>

如果应用程序面向早期版本的 framework,并将其导入到以前发布的辅助功能集,则添加单个 "Switch.UseLegacyAccessibilityFeatures.4=false" 切换到现有 AppContextSwitchOverrides 顶部

<?xml version="1.0" encoding+"utf-8" ?> <configuration>  <startup>    <supportedRuntime version="v4.0" sku=".NETFramework,Versionv4.7"/>  </startup>  <runtime> <!-- AppContextSwitchOverrides value attribute is in the form of key1=true|false;key2=true|false -->   <AppContextSwitchOverrides value="Switch.UseLegacyAccessibilityFeatures=false|Switch.UseLegacyAccessibilityFeatures.2=false|Switch.UseLegacyAccessibilityFeatures.3=false|Switch.UseLegacyAccessibilityFeatures.4=false"/>   </runtime> </configuration>

此版本中的 Winforms 辅助功能改进包括:

-解决通知 PropertyGrid 的问题通过屏幕阅读器控制项目和类别的展开/折叠状态。

-更新了属性网格控件和其内部元素的易于访问的模式。

-更新了属性网格的易于访问的名称控件内部元素,以便通过屏幕阅读器正确地宣布这些元素。

-寻址 PropertyGridView 控件的可访问的边界矩形属性

-使屏幕阅读器能够正确宣布 "DataGridView" ComboBox 单元格的展开/折叠状态。

1 公共语言运行时 (CLR)2Windows 演示基础 (WCF)3 Windows Communication Foundation

此更新中的已知问题

Windows Presentation Framework (WPF)应用程序使用属于通用线程的两个或多个 HostVisual 元素,在这种情况下,同时要求 HostVisual 元素从其可视目标断开连接,但邮件失败,并出现以下错误:

异常类型: COMException 消息: UCEERR_RENDERTHREADFAILURE (HRESULT 0x88980406) 调用堆栈: top 帧是 DUCE + SyncFlush ()。

变通办法

你可以通过将 AppContext 开关 "HostVisual DisconnectsOnWrongThread" 设置为 true 来禁用有问题的修复,使用此处所述的方法之一。  这会将你的应用公开给原始 bug,因此在通过即将推出的更新发布修补程序后,你应该删除该开关。

解决办法 1:

•将以下条目添加到 app.config 文件,以在单个应用程序中禁用有问题的修复。

<runtime>     <AppContextSwitchOverrides value="Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread=true"/> </runtime>

请注意,如果你的应用程序配置已有 <AppContextSwitchOverrides> 的条目,你需要在该条目中添加新设置,使用分号将其与其他开关分开:

   <AppContextSwitchOverrides value="Switch.SomeOtherSwitch=true; Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread=true"/>

解决办法 2

•应用以下注册表子项以禁用计算机上所有 WPF 应用程序的问题修复。  条 如果您使用注册表编辑器或使用其他方法错误地修改注册表,可能会出现严重问题。 这些问题可能需要您重新安装操作系统。 Microsoft 无法保证这些问题能够得到解决。 请自行承担修改注册表的风险。

位置: HKEY_LOCAL_MACHINE \Software\Microsoft\。NETFramework\AppContext\ 名称: DisconnectsOnWrongThread 的 HostVisual 类型: String 值: true

请注意,在64位操作系统上,你还需要在位置处应用具有相同名称、类型和值的注册表子项: HKEY_LOCAL_MACHINE \Software\Wow6432Node\Microsoft\。NETFramework\AppContext\

解决方案

我们正在处理解决方案,并将在即将推出的版本中提供更新。  

 

有关此更新的其他信息

以下文章包含有关此更新的其他信息,因为它与各个产品版本相关。

  • 45673274.7.2 和 4.8 For windows 10 版本1809和 windows SERVER 2019 (KB4567327)累积更新预览的累积更新3.5 预览

如何获取并安装更新

安装此更新

发布频道

可用

下一步

Windows 更新和 Microsoft 更新

若要下载并安装此更新,请转到 " 设置 " > 更新 & 安全 > Windows 更新,然后选择 " 检查更新"。

Microsoft 更新目录

若要获取此更新的独立程序包,请转到 Microsoft 更新目录网站。

Windows Server 更新服务(WSUS)

你可以手动将此更新导入到 WSUS。 有关说明,请参阅 Microsoft Update 目录

 

文件信息

有关此更新中提供的文件的列表,请下载 有关 累积更新的文件信息

先决条件

若要应用此更新,必须安装 .Net Framework 3.5 或 4.8 。

重启要求

如果未使用受影响的文件,则应用此更新之后无需重新启动计算机。 我们建议你退出所有基于 .NET Framework 的应用程序,然后再应用此更新。

如何获取此更新的相关帮助和支持

需要更多帮助?

需要更多选项?

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

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。