31 tháng Bảy, 2020-KB4562899 Bản Xem trước Cập nhật Tích lũy cho .NET Framework 3.5 và 4.8 cho Windows 10 Phiên bản 2004

Áp dụng cho
.NET

Lưu ý

  • Ngày Phát hành:
    Ngày 31 tháng 7, 2020
  • Phiên bản:
    .NET Framework 3.5 và 4.8

Bản cập nhật ngày 31 tháng 7 năm 2020 cho phiên bản Windows 10 2004 bao gồm những cải tiến về độ tin cậy tích lũy trong .NET 3.5 và 4.8. Chúng tôi khuyên bạn nên áp dụng bản cập nhật này như một phần trong quy trình bảo trì thường xuyên của mình. Trước khi bạn cài đặt bản cập nhật này, hãy xem các mục Điều kiện tiên quyết và Yêu cầu khởi động lại.

Các cải tiến về chất lượng và độ tin cậy

CLR1 - Thay đổi trong .NET Framework 4.8 đã làm giảm một số kịch bản EnterpriseServices trong đó đối tượng căn hộ chỉ sử dụng một luồng có thể được coi là căn hộ đa luồng và dẫn đến lỗi chặn. Thay đổi này bây giờ xác định chính xác đơn-chủ đề căn hộ đối tượng như vậy và tránh thất bại này.
- Khắc phục sự cố trong các cụm có dữ liệu hồ sơ IBC khiến các quy trình của nhân viên Ngen bị lỗi và trở về hình ảnh gốc đầy đủ.
- Khắc phục các sự cố hiếm gặp có thể xảy ra trong quá trình phân phối chuỗi hủy bỏ.
SQL - SqlBulkCopy.WriteToServer có thể gây ra các giao dịch trong bộ nhớ SQL bảng, để thất bại. Máy khách có thể thấy ngoại lệ với thông báo "Hết thời gian thực thi đã hết hạn. Khoảng thời gian chờ đã trôi qua trước khi hoàn tất thao tác hoặc máy chủ không phản hồi." SqlBulkCopy.WriteToServer đã gửi mã thông báo Chú ý (thông báo hủy bỏ) sau khi gửi dữ liệu đến Sql Server, khiến máy chủ hủy giao dịch đối với bảng trong bộ nhớ.
ASP.NET - Sử dụng hàm bhe tuân thủ FIPS trong dữ ASP.Net dữ liệu đo từ xa.
- Khắc phục sự cố trong đó "Không xác định" không phải là giá trị được phép trong cấu hình cho thuộc tính 'cookieSameSite' của các mục xác thực biểu mẫu và cấu hình trạng thái phiên.
WPF2 - Khắc phục sự cố khi bật tính năng kiểm tra chính tả trong WPF TextBox hoặc RichTextBox, các từ như "etc". được xác định là lỗi chính tả không chính xác.
- Khắc phục sự cố khi một số Per-Monitor ứng dụng WPF aware chạy trên .NET 4.8 đôi khi có thể gặp phải sự cố với exceptionSystem.ComponentModel.Win32Exception.
- Khắc phục sự cố trong đó dàn lại TextBlock (đưa ra các quyết định ngắt dòng khác nhau) trong quá trình hiển thị và kiểm tra lần nhấn, so với trong quá trình đo. Các dấu hiệu bao gồm thiếu văn bản và FailFast gặp sự cố trong quá trình xử lý văn bản có lập trình.
- Khắc phục sự cố lỗi hiển thị chuỗi gây ra do HostVisual ngắt kết nối mục tiêu của mình trên luồng không đúng.
- Khắc phục sự cố bị treo trong khi cuộn cây TreeView có cây không đồng nhất, theo nghĩa là con của nút đã cho sẽ chi phối các cây con có kích thước khá khác nhau.
- Khắc phục sự cố với sự cố có thể xảy ra khi đóng mẹo công cụ được đóng lại do mã người dùng đóng lại.
- Khi một HwndHost lá cây trực quan, một dấu vết ngăn xếp được tạo ra. Điều này là đắt tiền, và thường không cần thiết. Lô-gic bây giờ được thay đổi để tạo ra dấu vết xếp chồng chỉ khi điều kiện bất thường xảy ra.
- Khắc phục sự cố rò bộ nhớ trong System.Speech.SpeechSynthesizer.
- Lệnh Sao chép của DataGrid loại bỏ một ngoại lệ nếu bảng tạm hệ thống bị khóa bởi một quy trình khác. Điều này gặp sự cố, vì thường không có mã ứng dụng trên ngăn xếp để nắm bắt ngoại lệ. Hành vi của TextBox (và các ứng dụng khác như Notepad, Word, trình duyệt) trong tình huống này là không thành công - không có gì được sao chép vào bảng tạm, nhưng không có ngoại lệ. Ứng dụng WPF giờ <đây có thể chọn tham gia vào hành vi này bằng cách đặt appSettings><add key="ShouldThrowOnDataGridCopyOrCutFailure" value="false"/></appSettings>trong tệp app.config của mình.
- Khắc phục sự cố trong việc xây dựng mô hình nội bộ cho tài liệu FixedPage. Một số văn bản xuất hiện không đúng thứ tự cho các thao tác chỉnh sửa như chọn và sao chép/dán.
WCF3 - Khi sử dụng tên người dùng Windows username@dns.domain UPN có định dạng tương tự như trong thuộc tính tên người dùng của NetworkCredential khi sử dụng NetTcpBinding hoặc NetNamedPipeBinding, WCF sẽ tách không chính xác tên người dùng và dns.domain đặt chúng vào thuộc tính UserName và Domain. Điều này không hợp lệ trong một số trường hợp và sẽ dẫn đến việc không xác thực được. Bản sửa lỗi này loại bỏ sửa đổi thông tin xác thực khi sử dụng tên người dùng UPN. Sửa đổi có thể được bật lại bằng cách đặt AppSetting "wcf:enableLegacyUpnUsernameFix" thành true.
Net Libraries - Khắc phục sự cố rò bộ nhớ trong HttpListener.
Biểu mẫu winforms - Khắc phục sự cố với trạng thái hiển thị IsReadOnlyaccessibility của DataGridView: Trình tường thuật và các công cụ trợ năng khác sẽ thông báo trạng thái ô chỉ đọc cho phù hợp.
- Khắc phục sự cố hồi quy trong .NET Framework 4.8 khi các ứng dụng sử dụng loại ô DataGridView ComboBox và đã chọn trợ năng Mức 3, có thể gặp phải sự cố gián đoạn trong khi chỉnh sửa ô.
- Khắc phục sự cố trong ClickOnce RFC3161 xác minh dấu thời gian.
Các cải tiến về Trợ năng của Winforms Trong bản phát hành này, chúng tôi sẽ bổ sung thêm các cải tiến trợ năng mới mà ứng dụng của bạn có thể chọn tham gia. Theo mặc định, những thay đổi này được tắt. Các ứng dụng chọn tham gia vào các tính năng trợ năng được giới thiệu trong .NET 4.8 trở xuống, có thể thêm khóa chuyển tương thích sau đây vào tệp cấu hình của ứng dụng:
"Switch.UseLegacyAccessibilityFeatures.4=false"
Cụ thể, nếu một ứng dụng nhắm mục tiêu .NET 4.8, hãy thêm phần AppContextSwitchOverrides sau đây:
<?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>
Nếu ứng dụng nhắm mục tiêu đến phiên bản khung cũ hơn và chọn tham gia vào bộ tính năng trợ năng phát hành trước đó, "Switch.UseLegacyAccessibilityFeatures.4=false" hãy thêm một khóa chuyển duy nhất vào phần hiện AppContextSwitchOverrides có:
<?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>
Các cải tiến về khả năng truy nhập của Winforms được bao gồm trong bản phát hành này là:- Khắc phục sự cố về việc công bố mục điều khiển PropertyGrid và các danh mục được Bộ đọc Màn hình bung rộng/thu gọn.
- Cập nhật các mẫu có thể truy cập của điều khiển Lưới Thuộc tính và các yếu tố bên trong của nó.
- Cập nhật tên có thể truy nhập của kiểm soát lưới thuộc tính điều khiển các yếu tố bên trong để thông báo chính xác những điều này bằng bộ đọc màn hình.
- Địa chỉ liên kết các thuộc tính có thể truy cập hình chữ nhật cho các điều khiển PropertyGridView
- Cho phép bộ đọc màn hình thông báo chính xác trạng thái mở rộng/thu gọn ô DataGridView ComboBox.

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

Những sự cố đã biết trong bản cập nhật này

Các ứng dụng Windows Presentation Framework (WPF) sử dụng hai hoặc nhiều thành phần HostVisual thuộc một luồng chung, trong đó cả hai thành phần HostVisual được yêu cầu ngắt kết nối khỏi mục tiêu trực quan của chúng cùng một lúc, thư không thành công với lỗi sau:

Loại ngoại lệ: System.COMException
Thông báo: UCEERR_RENDERTHREADFAILURE (HRESULT 0x88980406)
Callstack: top frame is System.Windows.Media.Composition.DUCE+Channel.SyncFlush()

Giải pháp thay thế

Bạn có thể tắt bản sửa lỗi có sự cố bằng cách đặt khóa chuyển AppContext "Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread" thành true, bằng cách sử dụng một trong các phương pháp được mô tả ở đây.  Điều này khiến ứng dụng của bạn gặp lỗi ban đầu, vì vậy bạn nên xóa khóa chuyển sau khi bản sửa lỗi được phát hành thông qua bản cập nhật sắp tới.

Giải pháp thay thế 1

• Thêm mục nhập sau vào tệp app.config tắt bản sửa lỗi có sự cố trong một ứng dụng duy nhất.

        <runtime>
     <AppContextSwitchOverrides value="Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread=true"/>
</Runtime>

<Lưu ý rằng nếu cấu hình ứng dụng của bạn đã có mục nhập cho AppContextSwitchOverrides>, bạn cần thêm thiết đặt mới trong mục nhập đó, tách biệt với các khóa chuyển khác bằng dấu chấm phẩy:

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

Giải pháp thay thế 2

• Áp dụng khóa phụ của sổ đăng ký sau đây để vô hiệu hóa bản sửa lỗi có sự cố cho tất cả các ứng dụng WPF trên máy tính.
 Cảnh báo
Các vấn đề nghiêm trọng có thể xảy ra nếu bạn sửa đổi sổ đăng ký không đúng cách bằng cách sử dụng Trình soạn thảo Sổ đăng ký hoặc bằng phương pháp khác. Những vấn đề này có thể yêu cầu bạn phải cài đặt lại hệ điều hành. Microsoft không thể đảm bảo có thể giải quyết những sự cố này. Bạn phải tự chịu rủi ro khi sửa đổi sổ đăng ký.

Địa điểm: HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\AppContext\
Tên: Switch.System.Media.HostVisual.DisconnectsOnWrongThread
Loại: Chuỗi
Giá trị: true

Lưu ý rằng trên hệ điều hành 64 bit, bạn cũng cần áp dụng khóa phụ của sổ đăng ký có cùng tên, loại và giá trị tại vị trí: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\.NETFramework\AppContext\

Giải pháp

Chúng tôi đang tìm cách giải quyết và sẽ cung cấp bản cập nhật trong bản phát hành sắp tới.
 

Cách nhận và cài đặt bản cập nhật

Cài đặt bản cập nhật này

Kênh phát hành Sẵn dùng Bước tiếp theo
Windows Update và Microsoft Update Để tải xuống và cài đặt bản cập nhật này, hãy chuyển>đến Cập nhật Cài đặt & mật>Windows Update, sau đó chọn Kiểm tra bản cập nhật.
Danh mục Microsoft Update Để tải gói độc lập cho bản cập nhật này, hãy truy cập trang web Danh mục Microsoft Update.
Dịch vụ cập nhật Windows Server (WSUS) Không Bạn có thể nhập bản cập nhật này vào WSUS theo cách thủ công. Hãy xem Danh mục Microsoft Update để biết hướng dẫn.

Thông tin tệp

Để biết danh sách các tệp được cung cấp trong bản cập nhật này, hãy tải xuống thông tin tệp cho bản cập nhật tích lũy.

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

Để áp dụng bản cập nhật này, bạn phải cài đặt .NET Framework 3.5 hoặc 4.8.

Yêu cầu khởi động lại

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

Cách nhận trợ giúp và hỗ trợ cho bản cập nhật này