Bạn hiện đang ngoại tuyến, hãy chờ internet để kết nối lại

Hotfix rollup 2783808 cho Khuôn khổ .NET 5 in Windows 7, Windows 7 SP1, Windows 2008 R2, Windows 2008 R2 SP1, Windows 2008 SP2 và Windows Vista SP2

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch thuật của Microsoft và có thể được Cộng đồng Microsoft chỉnh sửa lại thông qua công nghệ CTF thay vì một biên dịch viên chuyên nghiệp. Microsoft cung cấp các bài viết được cả biên dịch viên và phần mềm dịch thuật thực hiện và cộng đồng chỉnh sửa lại để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng nhiều ngôn ngữ Tuy nhiên, bài viết do máy dịch hoặc thậm chí cộng đồng chỉnh sửa sau không phải lúc nào cũng hoàn hảo. Các bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này: 2783808
Giới thiệu
Bài viết này mô tả hotfix rollup 2783808 cho Microsoft Khuôn khổ .NET 4.5 Service Pack 2 (SP2) trong Windows 7, Windows 7 Service Pack 1 (SP1), Windows 2008 R2, Windows 2008 R2 SP1, Windows 2008 SP2 và Windows Vista SP2. Hotfix rollup này có sẵn để sửa chữa một số vấn đề trong the.NET Framework 4.5. Để biết thêm chi tiết về các vấn đề mà các hotfix giải quyết, hãy xem phần "Vấn đề rằng hotfix rollup này giải quyết".
Thông tin thêm

Thông tin hotfix

Một hotfix được hỗ trợ là bây giờ có sẵn từ Microsoft. Tuy nhiên, nó là nhằm khắc phục chỉ sự cố bài viết này mô tả. Nó chỉ áp dụng cho hệ thống đang gặp vấn đề cụ thể này.

Để giải quyết vấn đề này, liên hệ với bản ghi dịch vụ hỗ trợ khách hàng Microsoft để có được các hotfix. Để hoàn thành danh sách các bản ghi dịch vụ hỗ trợ Microsoft khách hàng số điện thoại và thông tin về chi phí hỗ trợ, ghé thăm website sau của Microsoft:Lưu ý Trong trường hợp đặc biệt, chi phí mà thường phải gánh chịu cho các cuộc gọi hỗ trợ có thể được hủy bỏ nếu chuyên viên hỗ trợ Microsoft xác định rằng một Cập Nhật cụ thể sẽ giải quyết vấn đề của bạn. Các chi phí hỗ trợ thông thường sẽ áp dụng để hỗ trợ thêm câu hỏi và vấn đề mà không đủ điều kiện cho Cập Nhật cụ thể trong câu hỏi.

Điều kiện tiên quyết

Để áp dụng hotfix này, bạn phải the.NET Framework 4.5 SP1 được cài đặt chuyên biệt trong Windows 7, Windows 7 SP1, Windows 2008 R2, Windows 2008 R2 SP1, Windows 2008 SP2 hoặc Windows Vista SP2.

Khởi động lại yêu cầu

Bạn phải khởi động lại máy tính sau khi bạn áp dụng hotfix này nếu bất kỳ tập tin bị ảnh hưởng đang được sử dụng. Chúng tôi khuyên bạn đóng tất cả các ứng dụng NET Framework trước khi bạn áp dụng hotfix này.

Thông tin thay thế hotfix

Gói hotfix này không thay thế một gói hotfix phát hành trước đó.

Chi tieát taäp tin

Phiên bản toàn cầu hotfix này có các thuộc tính tệp (hoặc sau này tập tin thuộc tính) mà được liệt kê trong bảng sau. Ngày tháng và thời gian cho những tập tin được liệt kê trong Giờ Quốc tế Phối hợp (UTC). Khi bạn xem chi tieát taäp tin, nó bị chuyển thành giờ cục bộ. Để tìm sự khác nhau giữa UTC và local time, sử dụng các múi thời gian thẻ tab trong các Ngày và thời gian mục trong Panel điều khiển.
Cho tất cả các hỗ trợ x 86 dựa trên phiên bản của Windows 7, Windows 7 SP1, Windows 2008 SP2 và Windows Vista SP2
tập đã đặt tên tinPhiên bản tập tinKích thước tập tinNgàyThời gianNền tảng
CLR.dll4.0.30319.190476,876,60828 Tháng 12 năm 201101:28x 86
Mscordacwks.dll4.0.30319.190471,299,44028 Tháng 12 năm 201101:28x 86
Mscordbi.dll4.0.30319.190471,096,65628 Tháng 12 năm 201101:28x 86
Mscorlib.dll4.0.30319.190475,171,15228 Tháng 12 năm 201102:39x 86
Presentationcore.dll4.0.30319.190473,224,56028 Tháng 12 năm 201102:39x 86
Presentationframework.dll4.0.30319.190476,187,01628 Tháng 12 năm 201102:39x 86
SOS.dll4.0.30319.19047746,94428 Tháng 12 năm 201101:28x 86
System.dll4.0.30319.190473,449,28828 Tháng 12 năm 201102:39x 86
System.identitymodel.dll4.0.30319.190471,084,92828 Tháng 12 năm 201102:39x 86
System.Printing.dll4.0.30319.19047342,00028 Tháng 12 năm 201102:39x 86
System.Runtime.serialization.dll4.0.30319.190471,051,69628 Tháng 12 năm 201102:39x 86
System.servicemodel.channels.dll4.0.30319.19047158,76828 Tháng 12 năm 201102:39x 86
System.servicemodel.Discovery.dll4.0.30319.19047312,36028 Tháng 12 năm 201102:39x 86
System.servicemodel.dll4.0.30319.190476,368,78428 Tháng 12 năm 201102:39x 86
Windowsbase.dll4.0.30319.190471,237,48828 Tháng 12 năm 201102:39x 86
Cho tất cả các hỗ trợ x 64 dựa trên các phiên bản của Windows 7, Windows 7 SP1, Windows 2008 R2, Windows 2008 R2 SP1, Windows 2008 SP2 và Windows Vista SP2
tập đã đặt tên tinPhiên bản tập tinKích thước tập tinNgàyThời gianNền tảng
CLR.dll4.0.30319.190479,804,22428 Tháng 12 năm 201100:33x 64
CLR.dll4.0.30319.190476,876,60828 Tháng 12 năm 201101:28x 86
Mscordacwks.dll4.0.30319.190471,742,81628 Tháng 12 năm 201100:33x 64
Mscordacwks.dll4.0.30319.190471,299,44028 Tháng 12 năm 201101:28x 86
Mscordbi.dll4.0.30319.190471,497,04028 Tháng 12 năm 201100:33x 64
Mscordbi.dll4.0.30319.190471,096,65628 Tháng 12 năm 201101:28x 86
Mscorlib.dll4.0.30319.190475,120,46428 Tháng 12 năm 201100:33x 64
Mscorlib.dll4.0.30319.190475,171,15228 Tháng 12 năm 201102:39x 86
Presentationcore.dll4.0.30319.190473,207,68028 Tháng 12 năm 201100:33x 64
Presentationcore.dll4.0.30319.190473,224,56028 Tháng 12 năm 201102:39x 86
Presentationframework.dll4.0.30319.190476,187,01628 Tháng 12 năm 201102:39x 86
SOS.dll4.0.30319.19047785,34428 Tháng 12 năm 201100:33x 64
SOS.dll4.0.30319.19047746,94428 Tháng 12 năm 201101:28x 86
System.dll4.0.30319.190473,449,28828 Tháng 12 năm 201102:39x 86
System.identitymodel.dll4.0.30319.190471,084,92828 Tháng 12 năm 201102:39x 86
System.Printing.dll4.0.30319.19047342,01628 Tháng 12 năm 201100:33x 64
System.Printing.dll4.0.30319.19047342,00028 Tháng 12 năm 201102:39x 86
System.Runtime.serialization.dll4.0.30319.190471,051,69628 Tháng 12 năm 201102:39x 86
System.servicemodel.channels.dll4.0.30319.19047158,76828 Tháng 12 năm 201102:39x 86
System.servicemodel.Discovery.dll4.0.30319.19047312,36028 Tháng 12 năm 201102:39x 86
System.servicemodel.dll4.0.30319.190476,368,78428 Tháng 12 năm 201102:39x 86
Windowsbase.dll4.0.30319.190471,237,48828 Tháng 12 năm 201102:39x 86

Vấn đề này hotfix rollup giải quyết

Phổ biến ngôn ngữ thời gian chạy Vấn đề (CLR)

Vấn đề 1

Khi một ứng dụng Khuôn khổ .NET 4.5 cố gắng để chạy bộ sưu tập rác nền trên máy tính có bộ nhớ thấp, một bế tắc có thể xảy ra.

Vấn đề 2

Phương pháp PerformanceCounterCategory.GetCategories không thể trở về một danh sách các hiệu suất truy cập thể loại trên một số hệ điều hành đang sử dụng miền địa phương tiếng Anh. Ngoài ra, nếu một ứng dụng NET Framework chạy mã tương tự như sau đây để liệt kê hiệu suất truy cập thể loại, giá trị không được trả lại:
PerformanceCounterCategory[] categories;categories = PerformanceCounterCategory.GetCategories();Console.WriteLine(categories.Length + " categories are registered on this computer");
Sau khi bạn áp dụng các hotfix, bạn phải thêm mới LocalizedPerfCounter cấu hình phím sau đây trong tập tin cấu hình ứng dụng để sử dụng .NET Framework:
<configuration>    <appSettings>        <add key="LocalizedPerfCounter" value="true" />    </appSettings></configuration>

Vấn đề Windows Communication Foundation (WCF)

Vấn đề 1

Giả định rằng có một ứng dụng sử dụng các lớp học System.Xml.XmlDictionaryReader WCF để đọc UTF-8 mã hóa kí tự đại diện Unicode. Khi các ứng dụng đọc một số kí tự đại diện Unicode nằm trong một phạm vi nhất định, trình đọc có thể được làm chậm.

Lưu ýĐể biết thêm chi tiết về các class System.Xml.XmlDictionaryReader, hãy vào web site MSDN sau đây:

Vấn đề 2

Trên máy tính đang chạy Khuôn khổ .NET 4.5 hoặc một phiên bản trước đó, WCF ứng dụng không thể truy cập một chứng chỉ khách hàng nếu thuộc tính HttpsTransportBindingElement.RequireClientCertificate được thiết lập để sai. Khi một ứng dụng cố gắng truy cập khách hàng giấy chứng nhận, WCF hoạt động trong một trong các chế độ sau:
  • yêu cầu hoặc từ chối
  • không yêu cầu và không xác nhận
Trong tình huống này, bạn không thể tạo ra một ứng dụng cho giấy chứng nhận mà kiểm tra là permissive (ví dụ, bạn không thể tạo ra một ứng dụng sử dụng chế độ không cần giấy chứng nhận nhưng xác nhận nếu cung cấp ). Hotfix này cho phép các ứng dụng để thêm một thiết lập một điểm cuối mà cung cấp chứng chỉ khách hàng để các ứng dụng WCF nếu khách hàng cung cấp giấy chứng nhận. Tuy nhiên, giấy chứng nhận là tùy chọn. Kết nối sẽ không bị từ chối nếu chứng chỉ không được cung cấp. Ví dụ, một web site có thể cố gắng sử dụng hình thức xác thực để xác nhận một cố gắng truy cập vào một máy chủ, và cấp quyền truy cập bổ sung nếu sự hiện diện của một chứng chỉ khách hàng được trình bày cho hệ phục vụ.

Để phát triển các ứng dụng, tạo ra một hành vi EndpointBehavior, và sau đó thêm hành vi vào một giới hạn trên của điểm cuối. Ví dụ, bạn chạy mã sau đây để tạo ra và thêm hành vi:
class ValidateOptionalClientCertificateBehavior : IEndpointBehavior        {            private const string ValidateOptionalClientCertificates = "wcf:HttpTransport:ValidateOptionalClientCertificates";             public void AddBindingParameters(ServiceEndpoint endpoint, BindingParameterCollection bindingParameters)            {                IDictionary<string, object> endpointSettings = bindingParameters.Find<IDictionary<string, object>>();                 if (endpointSettings == null)                {                    endpointSettings = new Dictionary<string, object>(StringComparer.OrdinalIgnoreCase);                    bindingParameters.Add(endpointSettings);                }                 if (endpointSettings.ContainsKey(ValidateOptionalClientCertificates))                {                    endpointSettings[ValidateOptionalClientCertificates] = true;                }                else                {                    endpointSettings.Add(ValidateOptionalClientCertificates, true);                }            }             public void ApplyClientBehavior(ServiceEndpoint endpoint, ClientRuntime clientRuntime)            {            }             public void ApplyDispatchBehavior(ServiceEndpoint endpoint, EndpointDispatcher endpointDispatcher)            {            }             public void Validate(ServiceEndpoint endpoint)            {                if (endpoint.ListenUri.Scheme != "https")                {                    throw new InvalidOperationException();                }            }        }    }
Ngoài ra, bạn có thể thêm các thiết lập điểm cuối sau bộ sưu tập bindingParameters:
string ValidateOptionalClientCertificatesString = "wcf:HttpTransport:ValidateOptionalClientCertificates";            Dictionary<string, object> endpointSettings = new Dictionary<string, object>();            endpointSettings.Add(ValidateOptionalClientCertificatesString, true);            bindingParameters.Add(endpointSettings);


Vấn đề 3

Khi bạn chạy một bản ghi dịch vụ WCF hỗ trợ WS-khám phá trên giao thức Datagram người dùng (UDP) trên một máy chủ, bạn có thể gặp một hoặc nhiều trong những vấn đề sau đây:
  • Việc sử dụng CPU tăng bất ngờ trên máy chủ.
  • Phát đa hướng lưu lượng truy cập là lớn hơn so với dự kiến.
  • Nhiều xà phòng lỗi thông điệp được áp dụng trên một mạng mà Khuôn khổ .NET 4.5 được triển khai trên tất cả hoặc một tập hợp con của máy tính.
Hotfix này ngăn các thông điệp lỗi xà phòng được trả lại từ một điểm cuối UDP nếu thư phát đa hướng WS-Discovery nhận được trên một điểm cuối không được cấu hình cho WS-khám phá.

Lưu ýNhững vấn đề này có thể xảy ra ngay cả khi các bản ghi dịch vụ không được biên dịch để nhắm mục tiêu các.NET Framework 4.5. Những vấn đề này có thể xảy ra trong một môi trường hoặc mạng trong đó Khuôn khổ .NET 4.5 được trình bày trên một hoặc hai điểm cuối.

Vấn đề Windows Presentation Foundation (WPF)


Vấn đề 1

In ấn hiệu suất tầm nhìn thấp xảy ra khi bạn sử dụng bản ghi dịch vụ dựa trên khuôn khổ 4.5 WPF a.NET in tới máy in giao diện thiết bị đồ họa (GDI) trên một hệ điều hành. Vấn đề này xảy ra nếu các điều kiện sau là đúng:
  • hệ điều hành máy chủ bản ghi dịch vụ sử dụng một miền địa phương tiếng Anh.
  • hệ điều hành là một trong các sản phẩm sau được cài đặt:
    • WPF Phiên bản 4.0
    • WPF Phiên bản 4.5
    • Phiên bản WPF 3.5 và hotfix được mô tả trong bài viết Cơ sở tri thức Microsoft sau đây (hoặc một hotfix nâng cấp bao gồm hotfix này):
      980294 Nhân vật trong phông chữ mã vạch được in trong font Wingdings trong một tài liệu XPS được tạo ra bằng cách sử dụng Khuôn khổ .NET 3,0
  • Bạn in một tài liệu có nhiều khối văn bản.
Vấn đề này xảy ra vì một hoạt động tra cứu xảy ra mỗi khi quá trình in ấn gọi một khối văn bản để tìm thấy những font GDI được sử dụng để hiển thị văn bản. Việc sử dụng tài nguyên của các hoạt động tra cứu được tăng lên bằng cách áp dụng các hotfix được phân phối trong phiên bản KB980294, WPF Phiên bản 4.0 và WPF 4.5. Ngoài ra, việc sử dụng tài nguyên của các hoạt động tra cứu chi phối việc sử dụng tài nguyên tổng thể của quá trình in ấn. Hotfix này giải quyết một vấn đề được biết đến trong logic lưu trữ kết quả hoạt động tra cứu. Sau khi bạn áp dụng các hotfix, việc sử dụng tài nguyên của các hoạt động tra cứu xảy ra một lần mỗi GDI phông thay vì xảy ra khi một khối văn bản.

Vấn đề 2

Xem xét kịch bản sau đây:
  • Bạn có một ứng dụng dựa trên NET Framework 4.5 chứa điều khiển WPF có thể chỉnh sửa. Điều khiển sử dụng một đầu vào phương pháp biên tập viên (IME).
  • Bạn nhập văn bản vào sự kiểm soát.
  • Bộ điều khiển có thể thay đổi các văn bản đầu vào. Sau đây là ví dụ về các hành vi này:
    • Giả sử rằng bạn có một hộp kiểm soát có tính chất văn bản dữ liệu giới hạn trên. Cập Nhật nguồn kích hoạt cho một giới hạn trên TextBox.Text tài sản được thiết lập để PropertyChanged. Khi bạn nhập vào các văn bản, nó được gửi đến một tài sản của sản phẩm dữ liệu cơ bản được mô tả trong con đường của các giới hạn trên. Ngoài ra, các văn bản có thể được thay thế bằng một chuỗi khác nhau bằng mục dữ liệu chính nó, hoặc bằng các chuyển đổi đó tham gia vào các giới hạn trên.
    • Giả sử bạn có một điều khiển hộp có thể chỉnh sửa kết hợp với tra cứu văn bản thiết lập được kích hoạt. Khi bạn nhập văn bản, kiểm soát hộp kết hợp cố gắng để phù hợp với văn bản chống lại danh sách các tùy chọn có sẵn. Nếu bộ điều khiển tìm thấy một lựa chọn mà Bắt đầu với các văn bản, văn bản sẽ được thay thế bằng các văn bản đầy đủ của tuỳ chọn kết hợp.
  • Bạn kích hoạt IME để gửi một tin thư thoại WM_IME_CHAR đến một ứng dụng WPF khi kiểm soát là "văn bản đã bị thay đổi bởi sự kiểm soát" nước.

    Lưu ýChuỗi kí tự đại diện chính xác mà gây ra các thông báo này khác nhau đáng kể giữa khác nhau IMEs. Một số IMEs không bao giờ gửi thư này ở tất cả.
Trong trường hợp này, ứng dụng Khuôn khổ .NET 4.5 có thể sụp đổ cùng với một ngoại lệ System.InvalidOperationException.

Để giải quyết vấn đề này, áp dụng các hotfix. Hotfix này cũng giải quyết một vấn đề cụ thể trong đó Visual Studio 2012 đổ vỡ khi bạn chỉnh sửa một nhóm nền tảng máy chủ (TFS) làm việc mục cùng với Engkoo Pinyin IME được kích hoạt. Sau đây là một mô tả chi tiết về vấn đề đó:

Giả sử rằng bạn nhập văn bản vào trường "Assigned để" của một mục làm việc trong Visual Studio năm 2012. Khi bạn sau đó nhấn Enter sau khi bạn nhập vào các văn bản, Engkoo IME gửi tin thư thoại WM_IME_CHAR. Vì vậy, Visual Studio 2012 tai nạn.

Lưu ýNhập vào các văn bản vàolĩnh vực khác của phi công việc mục cũng có thể gây ra vấn đề này.
Lưu ýVấn đề này cũng xảy ra trong WPF Phiên bản 4.0 hoặc phiên bản trước đó của WPF. Tuy nhiên, việc sửa chữa chỉ áp dụng cho WPF Phiên bản 4.5.
Vấn đề 3

Xem xét kịch bản sau đây:
  • Bạn có một ứng dụng WPF tuyên bố một tài sản dữ liệu giới hạn trên. Thuộc tính giới hạn trên dữ liệu chứa một giới hạn trên mà có một con đường phức tạp. Ví dụ, các giới hạn trên có đường dẫn sau:
    {Ràng buộc Path=A.B.C.D}
  • Bạn tạo ra một mô hình dữ liệu tăng thông báo PropertyChanged cho một số thành phần của con đường trên một sợi nhân viên. Ví dụ, sợi chỉ nhân viên tăng một thông báo thay đổi đối với tài sản C.

    Ghi chú
    • Các chủ đề người lao động có thể là bất kỳ chủ đề khác nhau từ các chủ đề giao diện người dùng.
    • Các chủ đề giao diện người dùng là các chủ đề được tuyên bố bởi các giới hạn trên.
  • Trước khi các chủ đề giao diện người dùng quy trình thông báo PropertyChanged, mô hình dữ liệu tăng một PropertyChanged thông báo cho một thành phần trước của con đường. Ví dụ, bạn có một chủ đề tăng một thông báo thay đổi đối với tài sản A.

    Lưu ýThông báo PropertyChanged thứ hai có thể xảy ra trên bất kỳ chủ đề. Điều này bao gồm các chủ đề giao diện người dùng.
Trong trường hợp này, thông báo thứ hai được bỏ qua. Ngoài ra, mất mát dữ liệu xảy ra. Ví dụ, bất động sản D thu được giá trị ban đầu của bất động sản A. Tuy nhiên, kết quả dự kiến sẽ là tài sản đó D được thay đổi giá trị tài sản A.

Lưu ý Vấn đề này cũng có thể ảnh hưởng đến một phiên bản cũ hơn WPF Phiên bản 4.5. Tuy nhiên, việc sửa chữa chỉ áp dụng cho WPF Phiên bản 4.5.


Vấn đề 4

Xem xét kịch bản sau đây:
  • Bạn có một ứng dụng WPF chạy mã để tuyên bố một điều khiển TextBlock và mã tương tự như sau đây:
    <TextBlock TextTrimming="CharacterEllipses" TextWrapping="NoWrap">
  • Bạn đầu vào văn bản để một chuỗi dài là 9600 kí tự đại diện hoặc lâu hơn.
  • Bạn chạy ứng dụng của bạn trên một máy tính đang chạy WPF Phiên bản 4.5.
Trong trường hợp này, sự kiểm soát TextBlock Hiển thị một vài dòng văn bản, và mỗi dòng văn bản kết thúc với hình elip. Ví dụ, số lượng các dòng được hiển thị là n/ 9600.

Lưu ýn là một giữ chỗ đại diện cho chiều dài của văn bản gốc. Tuy nhiên, kết quả mong đợi là kiểm soát TextBlock Hiển thị một dòng văn bản kết thúc với các hình elip.

Cảnh báo: Bài viết này đã được dịch tự động

Thuộc tính

ID Bài viết: 2783808 - Xem lại Lần cuối: 06/13/2013 06:28:00 - Bản sửa đổi: 2.0

Microsoft .NET Framework 4.5

  • kbqfe kbhotfixserver kbfix kbexpertiseadvanced kbsurveynew kbmt KB2783808 KbMtvi
Phản hồi