2020 年 7 月 31 日 - KB4562899 Windows 10 版本 2004 的 .NET Framework 3.5 和 4.8 彙整套件更新

套用到
.NET

注意

  • 發行日期:
    2020年7月31日
  • 版本:
    .NET Framework 3.5 和 4.8

2020 年 7 月 31 日針對 Windows 10 2004 版本的更新包含了 .NET 3.5 與 4.8 的累積可靠性提升。 建議您套用此更新,做為定期例行維護。 安裝此更新之前,請先參閱<先決條件><重新啟動需求>章節。

品質和可靠性改良功能

CLR1 - .NET Framework 4.8 的變更,讓某些 EnterpriseServices 情境退化,單執行緒公寓物件可能被視為多執行緒公寓,導致阻塞失敗。 此變更能正確識別單執行緒公寓物件,避免此故障。
- 解決組件中 IBC 配置檔資料導致 Ngen 工作程序崩潰並回退至完整原生映像的問題。
- 位址處理執行緒中止傳遞期間可能發生的罕見當機。
SQL - SqlBulkCopy.WriteToServer 可能導致記憶體內 SQL 資料表的交易失敗。 客戶端可能會看到一個異常訊息,顯示「執行逾時已過。 逾時時間在操作完成前已過,或伺服器無法回應。」SqlBulkCopy.WriteToServer 在將資料傳送到 SQL Server 後) 發送 Attention token (cancellation 訊息,導致伺服器中止該交易以處理記憶體內資料表。
ASP.NET - 在 ASP.Net 遙測資料中使用符合 FIPS 標準的雜湊值。
- 解決表單認證與會話狀態設定區塊中「cookieSameSite」屬性中「未指定」未被允許值的問題。
WPF2 - 解決在 WPF TextBox 或 RichTextBox 啟用拼字檢查時,如「etc.」、「例如」等字的問題。 被誤判為拼字錯誤。
- 解決部分 Per-Monitor Aware WPF 應用程式在 .NET 4.8 上運行時,偶爾會遇到 exception 當機的問題 System.ComponentModel.Win32Exception。
- 解決了 TextBlock 在渲染與命中測試時,與測量時) ,重新執行 (做出不同換行決策的問題。 症狀包括文字遺失,以及程式化文字處理時 FailFast 當機。
- 解決 HostVisual 在錯誤執行緒斷開目標端所導致的渲染執行緒失敗問題。
- 解決在捲動樹狀樹狀圖時發生的掛機問題,該樹狀樹是非均勻的,也就是說某節點的子節點管理的子樹大小差異很大。
- 解決關閉被使用者程式碼重新進入關閉的工具提示時可能發生的當機問題。
- 當 HwndHost 離開視覺樹時,會建立堆疊追蹤。 這很昂貴,而且通常沒必要。 邏輯改為只有在異常狀況發生時才建立堆疊追蹤。
- 解決 System.Speech.SpeechSynthesizer 中的記憶體洩漏。
- DataGrid 的 Copy 指令若系統剪貼板被其他程序鎖定,會拋出例外。 這會當機,因為堆疊中通常沒有應用程式程式碼可以捕捉異常。 TextBox (以及其他應用程式如記事本、Word、瀏覽器) 在這種情況下的行為是默默失敗——沒有東西被複製到剪貼簿,但沒有例外。 WPF 應用程式現在可以透過在其 app.config 檔案中設定 <appSettings><add key=“ShouldThrowOnDataGridCopyOrCutFailure” value=“false” /></appSettings>來選擇此行為。
- 解決固定頁文件內部模型建構時的問題。 有些文字出現在編輯操作(如選取和複製貼上)時出現的順序錯誤。
WCF3 - 當使用 UPN Windows 使用者名稱,格式類似 username@dns.domain 於 NetworkCredential 使用者名稱屬性中,使用 NetTcpBinding 或 NetNamedPipeBinding 時,WCF 會錯誤地將使用者名稱與 dns.domain 分割,並將其置於 UserName 與 Domain 屬性中。 在某些情況下這不成立,會導致無法驗證。 此修正移除使用 UPN 使用者名稱時的憑證修改。 可透過將 AppSetting 「wcf:enableLegacyUpnUsernameFix」設為 true,重新啟用修改。
網路圖書館 - 解決 HttpListerner 中的記憶體洩漏。
Winforms - 解決 DataGridView IsReadOnly accessibility 狀態的問題:Narrator 及其他無障礙工具會相應地宣布唯讀儲存格狀態。
- 針對使用 DataGridView ComboBox 儲存格類型且已選擇 Level 3 Accessibility 的應用程式,在編輯儲存格時可能間歇性當機時,針對 .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>
如果應用程式針對較早版本的框架,並選擇加入先前版本的無障礙功能集,則在現有AppContextSwitchOverrides區塊中新增一個"Switch.UseLegacyAccessibilityFeatures.4=false"開關:
<?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 控制項與類別展開/摺疊狀態時的問題。
- 更新了物業格控及其內部元素的可存取模式。
- 更新了 Property Grid 控制內部元素的可存取名稱,以正確地透過螢幕閱讀器宣告這些元素。
- PropertyGridView 控制項中矩形可存取屬性的位址
- 讓螢幕閱讀器能正確宣告 DataGridView ComboBox 儲存格展開/摺疊狀態。

         1 通用語言執行平台 (CLR)
2 Windows Presentation Foundation (WPF)
3 Windows 通訊基金會

此更新中的已知問題

Windows Presentation Framework (WPF) 使用兩個或以上屬於共同執行緒的 HostVisual 元素的應用程式,當兩個 HostVisual 元素被要求在大致同時從其視覺目標斷開連接時,郵件會因以下錯誤而失敗:

例外類型:System.COMException
訊息:UCEERR_RENDERTHREADFAILURE (HRESULT 0x88980406)
呼叫堆疊:頂端框架為 System.Windows.Media.Composition.DUCE+Channel.SyncFlush ()

解決方法

你可以透過將 AppContext 開關「Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread」設為 true,使用此處描述的方法之一來停用這個有問題的修復方法。  這會暴露你的應用程式原始錯誤,因此一旦修正案發布後,你應該移除 Switch。

解決方法 1

• 在 app.config 檔案中新增以下條目,以在單一應用程式中停用有問題的修正。

        <runtime>
     <AppContextSwitchOverrides value=“Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread=true”/>
</運行時>

請注意,如果您的應用程式設定已經有 AppContextSwitchOverrides> 的條目<,您需要在該條目中新增該設定,並與其他交換器之間用分號分隔:

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

解決方法 2

• 套用以下登錄子鍵,以停用所有 WPF 應用程式的有問題修正。
 警告
如果您使用「登錄編輯程式」或其他方法不當地修改登錄,可能會發生嚴重問題。 這些問題可能會迫使您重新安裝作業系統。 Microsoft無法保證這些問題能被解決。 Modify the registry at your own risk.

地點:HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\AppContext\
名稱:Switch.System.Media.HostVisual.DisconnectsOnWrongThread
類型:弦
值:真

請注意,在 64 位元作業系統上,你還需要在位置套用一個名稱、類型和值相同的登錄檔子鍵:HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\.NETFramework\AppContext\

解決方法

我們正努力研究解決方法,並會在即將推出的版本中提供更新。
 

如何取得並安裝更新

安裝此更新

發行管道 可取得 下一步
Windows Update 和 Microsoft Update 要下載並安裝此更新,請前往設定>中的「>安全更新 & Windows Update,然後選擇檢查更新。
Microsoft Update Catalog 若要取得此更新的獨立套件,請前往 Microsoft Update Catalog 網站。
Windows Server Update Services (WSUS) 你可以手動將此更新匯入 WSUS。 請參閱 Microsoft 更新目錄 以獲得說明。

檔案詳細資訊

如需此更新中提供的檔案清單,請下載累積更新的檔案資訊

先決條件

要套用此更新,您必須安裝 .NET Framework 3.5 或 4.8。

重新啟動需求

如果任何受影響的檔案正在使用中,您必須在套用此更新後將電腦重新啟動。 建議您在套用此更新之前,先結束所有 .NET Framework 應用程式。

如何取得此更新的說明及支援