Applies To.NET

發行日期:2020 年7月21日

版本: .Net Framework 3.5 和 4.8

2020年7月21日更新版本1903和 Windows Server 1903 RTM 及 windows 10 (版本1909和 Windows Server)版本1909包括 .NET 3.5 和4.8 中的累加性可靠性增強功能。我們建議您將此更新作為一般維護常式的一部分來套用。安裝此更新之前,請參閱 先決條件重新開機需求 區段。

品質和可靠性改良功能

CLR1

-.NET Framework 4.8 的變更: regressed 某些 EnterpriseServices 案例,在此情況下,單一線程單元物件可能會被視為多執行緒單元,並導致封鎖失敗。 此變更現在可以正確地識別單一線程單元物件,從而避免這項失敗。

-使用 IBC 設定檔資料來解決元件中的問題,導致 Ngen 工作進程損毀,並回退至完整原生映射。

-解決線上程中止傳遞期間可能發生的極少故障。

語句

-SqlBulkCopy. WriteToServer 可能會導致事務在記憶體中的 SQL 資料表中失敗。 用戶端可能會看到 [執行超時已過期] 訊息的例外狀況。 在作業完成或伺服器未回應之前已過超時期間。 在傳送資料至 Sql Server 之後,SqlBulkCopy 會傳送注意標記(取消訊息),導致伺服器中止記憶體中資料表的交易。

ASP.NET

-在 ASP.Net 遙測資料中使用 FIPS 相容的雜湊值。

-解決「未指定」在 forms 驗證與會話狀態配置節之 ' cookieSameSite」屬性的 [config] 中無法使用的值。

WPF2

-解決在 WPF TextBox 或 RichTextBox 中啟用拼寫檢查時的問題,像是「等」的文字,"(例如)] 被錯誤地識別為拼寫錯誤。

-解決一些每個顯示器上執行的 office 應用程式(在 .NET 4.8 上執行),在 ComponentModel Win32Exception 時,可能偶爾會遇到 exceptionSystem 的問題。

-解決 TextBlock 在轉譯和點擊測試期間,以及在測量期間進行的不同分行決策。 症狀包括缺少的文字,以及在程式設計文字處理期間發生 FailFast 故障。

-解決由於 HostVisual 中斷錯誤的執行緒上的目標,導致轉譯執行緒失敗的問題。

-解決 [掛起] 中的問題,同時滾動樹狀結構(其樹結構不一致),請在 [感知 thata] 中,針對其大小相當不同的子樹進行設定。

-解決當關閉由使用者程式碼關閉的工具提示時,可能會發生的當機 entrantly 問題。

-當 HwndHost 離開視覺化樹狀結構時,就會建立堆疊追蹤。 此成本較高且通常不必要。 現在,只有當反常情況發生時,才會將邏輯變更為建立堆疊追蹤。

-解決 SpeechSynthesizer 中的記憶體洩漏漏洞。

-DataGrid 的 [複製] 命令會在系統剪貼簿已由另一個處理常式鎖定時引發例外狀況。 如此一來,因為堆疊上通常沒有應用程式代碼來捕捉例外狀況。 在這種情況下,TextBox (以及記事本、Word、瀏覽器等其他應用程式)的行為是自動失敗,不會將任何內容複寫到剪貼簿,但沒有例外狀況。 WPF app 現在可以在其 app.config 檔案中設定 <appSettings> <add key = "ShouldThrowOnDataGridCopyOrCutFailure" 值 = "false"/> </appSettings>,加入宣告此行為。

-解決建立 FixedPage 檔的內部模型的問題。 某些文字的顯示順序與編輯操作(例如選取和複製/貼上)的順序不正確。

WCF3

-在 NetworkCredential 中使用的 UPN Windows username 的格式與 username@dns 類似,在使用 NetTcpBinding 或 NetNamedPipeBinding 時,WCF 會將該使用者名稱和網域放入 [使用者名稱] 和 [網域屬性] 中。 在某些情況下,這是不正確,可能會導致無法進行驗證。 此修正程式會在使用 UPN 使用者名時移除認證修改。 您可以將 AppSetting "wcf: enableLegacyUpnUsernameFix" 設定為 true,以重新啟用修改。

網路文件庫

-解決 HttpListener 中的記憶體洩漏漏洞。

Winforms

-解決 DataGridView IsReadOnlyaccessibility 狀態的問題:朗讀程式和其他易於存取的工具會據此公佈唯讀的儲存格狀態。

-處理 .NET Framework 4.8 中的迴歸分析:當使用 DataGridView ComboBox 儲存格類型的應用程式,並選擇 [第3層協助工具] 時,可能會在編輯儲存格時遇到間歇性當機的問題。

-解決 ClickOnce RFC3161 時間戳記驗證碼中的問題。

Winform 協助工具改善

在這個版本中,我們將新增您的應用程式可以加入宣告的協助工具增強功能。 根據預設,這些變更是停用的。 加入宣告在 .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>

如果應用程式是以舊版架構為目標,並匯入先前版本的協助工具功能,請新增單一 "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>

Winform 此版本中包含的協助工具改善為:

-解決由螢幕閱讀器 PropertyGrid 控制專案與類別展開/折迭狀態的問題。

-更新屬性格線控制項及其內部元素的易於存取的模式。

-更新屬性格線的無障礙名稱控制內部元素,以透過螢幕閱讀程式正確宣告這些元素。

-解決 PropertyGridView 控制項的可存取的矩形屬性

-可讓螢幕閱讀程式正確宣告 [DataGridView] ComboBox 儲存格的展開/折迭狀態。

1 Common Language Runtime (CLR)2 Windows Presentation Foundation (WPF)3 Windows Communication Foundation

此更新中的已知問題

Windows Presentation Framework (WPF)應用程式使用屬於常見執行緒的兩個或多個 HostVisual 元素,在這兩個 HostVisual 元素都會同時從其視覺目標中斷連線,但郵件失敗並出現下列錯誤:

例外狀況類型: COMException 訊息: UCEERR_RENDERTHREADFAILURE (HRESULT 0x88980406) 堆疊:上部的框架是 DUCE + SyncFlush ()。

因應措施

您可以使用此處所述的方法,將 AppCoNtext 開關 [DisconnectsOnWrongThread] 設定為 true,以停用有問題的修正程式。  這會將您的 app 公開給原始錯誤,因此,只要透過即將進行的更新發佈修正,就應該移除該開關。

因應措施 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\ Name: HostVisual. DisconnectsOnWrongThread 類型: String 值: true

請注意,在64位作業系統上,您也需要在位置使用相同的名稱、類型和值來套用 registry 子機碼: HKEY_LOCAL_MACHINE \Software\Wow6432Node\Microsoft\。NETFramework\AppCoNtext\

解決方式

若要解決此問題,請安裝適用于 Windows 10 版本1903和 Windows Server 1903 RTM 及 windows 10 版本1909與 Windows Server (版本 1909 KB4580980)的 .net Framework 3.5 和4.8 的更新。

 

如何取得並安裝更新

安裝此更新

發行通道

離線

下一個步驟

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 應用程式。

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

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。