Sign in with Microsoft
Sign in or create an account.
Hello,
Select a different account.
You have multiple accounts
Choose the account you want to sign in with.

簡介

本文說明的 hotfix 彙總套件 2996568 使用 Microsoft.NET Framework 4.5]、 [.NET Framework 4.5.1,和 [.NET Framework 4.5.2。如需有關 hotfix 彙總套件可以解決問題的詳細資訊,請參閱 < 其他資訊=""> 一節。

此 hotfix 彙總套件適用於下列作業系統︰

  • Windows Server 2008 R2 SP1

  • Windows 7 SP1

  • Windows Server 2008 SP2

  • Windows Vista SP2


解決方案

已經可以從 Microsoft 取得支援的 hotfix。不過,其旨在修正本文所描述的問題。它只適用於發生此特定問題的系統上。

若要解決這個問題,請連絡 Microsoft 客戶支援服務 」 取得 hotfix。如需 Microsoft 客戶支援服務電話號碼以及支援費用的相關資訊的完整清單,請造訪下列 Microsoft 網站︰

http://support.microsoft.com/contactus/?ws=support注意 在特殊的情況下,如果 Microsoft 支援專業人員認為某特定更新程式可以解決您的問題時,可能就不會收取一般因支援電話所產生的費用。收取支援費用會套用,如果有其他支援問題是,不能限定的特定更新程式。

更多的資訊

先決條件

若要套用此 hotfix,您必須有.NET Framework 4.5]、 [.NET Framework 4.5.1 或 [.NET Framework 安裝的 4.5.2。

重新啟動需求

您必須重新啟動電腦,如果任何受影響的檔案正在使用中,會套用此 hotfix 之後。我們建議您套用此 hotfix 之前,關閉所有的.NET Framework 應用程式。

Hotfix 取代資訊

此 hotfix 套件不會取代先前發行的 hotfix 套件。


















此 hotfix 彙總套件可以解決的問題

問題 1

當您使用.NET Framework 4.5]、 [.NET Framework 4.5.1 或 [.NET Framework 4.5.2 時,此 hotfix 解決System.IO.Packaging在下列兩個執行緒處理的問題。

  • 當您使用大型的包裝在個別執行緒上時,可能會發生死結。System.IO.Packaging會將IsolatedStorage用於大於 10 百萬位元組 (MB) 的封裝。當兩個或多個執行緒使用大型的包裝時,可能會發生死結,即使套件無關。死結涉及兩個執行緒。雖然其他正在等候另一個IsoloatedStorageFile類別的方法中,一個正在等候IsolatedStorageFile.Lock中。若要避免這個問題,在IsolatedStorageFile的System.IO.Packaging中加入同步處理來修正這個問題。

  • 當您將收到PackageProperties從不同的執行緒,在開啟的封裝,即使套件無關時,可能會發生例外狀況。最常見的呼叫堆疊因這如下所示︰System.Xml.XmlException: Unrecognized root element in Core Properties part. Line 2, position 2. atMS.Internal.IO.Packaging.PartBasedPackageProperties.ParseCorePropertyPart(PackagePart part) at
    System.IO.Packaging.Package.get_PackageProperties()
    System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. Parameter name: id atMS.Internal.IO.Packaging.PartBasedPackageProperties.ParseCorePropertyPart(PackagePart part) at
    System.IO.Packaging.Package.get_PackageProperties()
    這個問題因共用的內部資源爭用,並提供每個封裝一份該資源已經解決。


問題 2

在收到多UIAutomation服務的要求時,Windows Presentation Foundation (WPF) 應用程式可能會使用大量的記憶體。記憶體屬於System.Threading命名空間中的物件。這包括System.Threading.CancellationTokenSource、 System.Threading.TimerQueueTimer、 System.Threading.Timer和其他幾個相關的類別。

這些是當 WPF 收到UIAutomation活動的要求時,代表 WPF 配置的物件。是,在最後發行到要求的逾時期限到期為止 (通常是三分鐘)。如果要求快速到達,應用程式看起來像遺漏記憶體,或使用更多的記憶體,比起合理 (相當於 500 MB)。

藉由要求完成時,而不等待逾時期限,請釋出物件可以解決這個問題。

問題 3

在 WPF 應用程式中,當您使用韓文輸入法 (IME),來輸入文字時的可編輯的下拉式方塊的 [文字] 屬性不會變更正確地在某些情況下。

這個問題可能會出現不同的徵狀,並由所決定的應用程式 (或控制項的作者) 已經設定下拉式方塊。例如︰

  • 您輸入並離開索引標籤上 (或將焦點移到另一個控制項之後),就會還原下拉式方塊所顯示的文字,則為空字串,或在輸入前的值。

  • 下拉式方塊的TextSearch功能運作失常。不符合輸入後,前置詞或它比對不相關的項目。

藉由修改邏輯,以容納其他 Ime 規格稍有差異的韓文 IME 的時機,被解決這個問題。

問題 4

在 WPF 應用程式執行拖放操作的情況下,您在使用觸控式之後下, 一步的觸控筆勢會被忽略。

藉由拖放作業完成時,還原的觸控輸入的處理常式的內部狀態來解決這個問題。如此一來,它會計算下一個觸控筆勢的位置正確。

問題 5

若要獲得顯著的效能,當您使用自訂的IAuthenticationModules,可以選擇性地啟用新的AuthenticationManager實作。

注意如果程式碼不是執行緒安全,就會出現重大安全性風險。主要的行為變更位於PreAuthenticate和驗證方法。先前也不保證循序執行程式碼 (拍攝使用全域鎖定)。在新的實作中,沒有鎖定做,且客戶程式碼必須保證執行緒安全。
此外,新的實作, PrefixLookup的快取大小可以透過登錄來控制。

下列的登錄機碼可用來啟用及設定PrefixLookup的最大長度︰

  • 通用設定[HKEY_LOCAL_MACHINE\SOFTWARE[\Wow6432Node]\Microsoft\.NETFramework\v4.0.30319]"System.Net.AuthenticationManager.HighPerformance"=dword:00000001
    "System.Net.AuthenticationManager.PrefixLookupMaxCount"=dword:00010000

  • 本機應用程式組態[HKEY_LOCAL_MACHINE\SOFTWARE[\Wow6432Node]\Microsoft\.NETFramework\v4.0.30319\System.Net.AuthenticationManager.HighPerformance]"c:\myapp\myapp.exe"=dword:00000001
    [HKEY_LOCAL_MACHINE\SOFTWARE[\Wow6432Node]\Microsoft\.NETFramework\v4.0.30319\System.Net.AuthenticationManager.PrefixLookupMaxCount]
    "c:\myapp\myapp.exe"=dword:00010000

通用設定,其優先順序高於本機應用程式設定。可以混合全域和區域的應用程式設定。如果全域或區域的應用程式的 [ HighPerformance ] 設定設為DWORD 1,不會影響PrefixLookupMaxCount 。

問題 6

假設您執行.NET Framework 4.5]、 [.NET Framework 4.5.1 或 [.NET Framework 4.5.2 為基礎的應用程式。應用程式會在受管理的方法,從原生程式碼呼叫,再由參考傳遞 COM 介面,擲回例外狀況。在此情況下,應用程式可能會損毀。

例如︰ VB6 所撰寫應用程式呼叫 C# DLL。假如 C# 程式碼中擲回例外狀況時,都會在 release 模式編譯的應用程式和 DLL,就會發生存取違規,,,應用程式當機。

問題 7

當工作流程以 XAML 為基礎專案時間較長的時間比預設租用時間 (5 分鐘) 的遠端物件所定義的建置 XAML 的工作時,您會收到類似下列的錯誤訊息︰

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Xaml.targets(193,5)︰ 錯誤 XC1000: XC1020︰ 在 XAML MSBuild 工作中發生建置錯誤: '物件' / cc8d6dcf_823f_4ce0_aaad_fb1d3f85e42b/mzr1is8dfgy6yqtpnhegu6pt_4.rem' 已經中斷,或不存在於伺服器。 '

您套用此 hotfix 之後,您可以藉由定義稱為XamlBuildTaskRemotingLeaseLifetimeInMinutes的環境變數來定義您自己的租用時間 (以分鐘為單位)。

MSBuild 專案檔中設定環境變數,您必須在專案檔案中包含下列資訊︰<Project ...> <UsingTask TaskName="MySetEnv" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll" >
<ParameterGroup>
<Name Required="true" />
<Value Required="false" />
</ParameterGroup>
<Task>
<Code Type="Fragment" Language="cs">System.Environment.SetEnvironmentVariable(Name, Value);</Code>
</Task>
</UsingTask>
...
...
<Target Name="BeforeBuild">
<MySetEnv Name="XamlBuildTaskRemotingLeaseLifetimeInMinutes" Value="1440" />
</Target>
<Target Name="AfterBuild">
<MySetEnv Name="XamlBuildTaskRemotingLeaseLifetimeInMinutes" Value="" />
</Target>
</Project>
在這個範例中的工作名稱是MySetEnv。它可以將任何適用於 [任務名稱的字串。本範例將使用期時間設定為 1440 分鐘 (一天) 的專案中,建置之前,並建置之後將它設定為 null。如果有需要,以延長使用期時間的多個專案,每個專案就會需要這項設定。

問題 8

當您在網頁中使用 AJAX 回傳時,有時候回傳是重新導向至另一個 URL。您可以取得中透過HttpModule RedirectLocation HttpContext.Items["System.Web.UI.PageRequestManager:AsyncPostBackRedirectLocation"]。

Need more help?

Want more options?

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

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

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?
By pressing submit, your feedback will be used to improve Microsoft products and services. Your IT admin will be able to collect this data. Privacy Statement.

Thank you for your feedback!

×