本文將說明適用于 Microsoft .NET Framework 4.6.1 和 4.6 的 hotfix 匯總匯總。 有關此 Hotfix 匯總修正問題詳細資訊,請參閱此 修補程式 匯總修正的問題一節。
解決方案
下載資訊
對應至 KB3139549 的修補程式已取代為 .NET Framework 的最新更新,其中包含先前包含在 KB3139549 中的所有修正程式。 建議您安裝最新更新.NET Framework。
如需有關如何下載 Microsoft 支援檔案的詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
119591 如何從線上服務取得 Microsoft 支援檔案 Microsoft 掃描此檔案中的病毒。 Microsoft 是利用發佈當日的最新病毒偵測軟體來掃描檔案。 檔案會儲存在安全性強化的伺服器上,以避免任何未經授權的變更。
其他相關資訊
先決條件
若要適用此修補程式,您必須安裝 .NET Framework 4.6.1 或 .NET Framework 4.6。
重新啟動需求
如果有任何受影響的檔案遭到使用,您必須在適用此 Hotfix 之後重新開機電腦。 建議您先退出所有.NET Framework型應用程式,然後再申請此 hotfix。
Hotfix 取代資訊
此修補程式套件無法取代先前發佈的 Hotfix 套件。
此修補程式匯總修正的問題
問題 1
當 WPF 應用程式使用 TreeViewItem 元素以外的 TreeViewViewItem 上下文時,應用程式可能會遇到一個 InvalidCastException 例外,其堆疊追蹤開始如下:
系統。Windows。控制項.虛擬化StackPanel.FindScrollOffset (Visual v)
注意:當 TreeViewItem 元素位於虛擬清單控制項 (例如 ListBox、DataGrid 或 ListView 控制項) 嘗試尋找 TreeViewItem 或其中一個子代的卷軸位移時,會發生此例外。 例如,如果您將 TreeViewItem 宣告為 DataTemplate 的根目錄,而 DataTemplate 則做為 DataGrid 資料行的 CellTemplate,則會發生此例外。
問題 2
System.Web.Cache 和 System.Runtime.Cache 會報告整個 AppDomain 所使用的記憶體大小,而不是快存專案所使用的記憶體大小。
這是自 4.5 .NET Framework中的回歸問題,計時器的實現已變更。 除了報告不正確的大小之外,由緩存參照的其他物件可能會嚴重影響 Gen2 GC 延遲。 在 ASP.NET 主機情況下,當應用程式網域回收時,該緩存也會錯誤計算所有應用程式網域 (透過 Cache % 流程記憶體限制使用 ASP.NET) 的績效計數器) 的所有應用程式網域大小。 修正程式會移除來自緩存中其他 App 網域物件的非預期參照,然後報告正確的大小。 它也包含變更,以改善使用 Server GC 的多核心電腦上的 System.Runtime.Caching 延遲。 最後,此修正程式會正確計算 App 網域回收案例中所有緩存的大小。問題 3
當您的 Windows Presentation Foundation (WPF) 應用程式仰賴升級滑鼠移動,以處理觸控移動使用者互動 (而非直接使用觸控事件) 時,您可能會體驗到超低的升級滑鼠移動量。
過去,WPF 會限制滑鼠觸控動作的升級,因為觸控動作的音量已讓調度員不知所措。 在 .NET Framework 4.6.1 中,已針對此行為進行修正。 修正程式會限制處理觸控動作的數量。 因此,對滑鼠促銷的節流會進一步減少滑鼠移動。 在此更新彙總套件中,已移除滑鼠促銷節流,現在觸控移動事件與升級的滑鼠移動事件之間應該會接近 1 對 1 對應。問題 4
假設您使用的目標為 4.6 .NET Framework WPF 應用程式。 例如,假設您嘗試以任何方法設定 CurrentThread.CurrentCulture 或 CurrentThread.CurrentUICulture (例如 UI 事件處理常式或 WPF 分派器使用 DispatcherOperation 所叫用的主視窗建立器) 。 在這種情況下,CurrentCulture 和 CurrentUI 文化圖值會重設為各自在方法結尾的先前值。 如果應用程式在其 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未正確實用。
此修正程式可針對與設定和取回切換值相關的 AppCoNtext 方法啟用正確的執行緒安全性。問題 7
當您使用配置和存續模式來達到邊緣案例,而您需要在受管理的堆上建立新區段時,垃圾收集器可能會計算小於其應該的提交大小。 這會造成壓縮階段中的存取衝突,因為垃圾收集器嘗試寫入未提交記憶體。 此修正程式會正確計算大小。
問題 8
當您為特定方法建立原生程式碼時,.NET Framework應用程式與 NGEN 程式可能會當機。
問題 9
RyuJit 會產生不正確的指示,用於比較 16 位未簽名的收銀機整數。 如果輸入值具有不同的 MSB 值,則會產生不正確的結果,因此會產生僅使用 register 運算元的比較指示。 此修正程式會產生正確的指示。