21 Juli 2020-KB4562900 Pratinjau Pembaruan Kumulatif untuk .NET Framework 3.5 dan 4.8 untuk Windows 10 Versi 1903 dan Windows Server 1903 RTM dan Windows 10, versi 1909 dan Windows Server, versi 1909

Berlaku Untuk
.NET

Catatan

  • Tanggal rilis:
    21 Juli 2020
  • Versi:
    .NET Framework 3.5 dan 4.8

Pembaruan 21 Juli 2020 untuk Windows 10 Versi 1903 dan Windows Server 1903 RTM dan Windows 10, versi 1909 dan Windows Server, versi 1909 mencakup penyempurnaan keandalan kumulatif di .NET 3.5 dan 4.8. Kami menyarankan Anda menerapkan pembaruan ini sebagai bagian dari rutinitas pemeliharaan rutin Anda. Sebelum menginstal pembaruan ini, lihat bagian Prasyarat dan persyaratan Mulai Ulang .

Peningkatan kualitas dan keandalan

CLR1 - Perubahan dalam .NET Framework 4.8 memundurkan skenario EnterpriseServices tertentu di mana objek apartemen utas tunggal dapat diperlakukan sebagai apartemen multi-utas dan menyebabkan kegagalan pemblokiran. Perubahan ini kini mengidentifikasi objek apartemen utas tunggal dengan benar dan menghindari kegagalan ini.
- Mengatasi masalah dalam rakitan dengan data profil IBC yang menyebabkan proses pekerja Ngen mengalami crash dan kembali ke gambar asli penuh.
- Mengatasi crash langka yang dapat terjadi selama pengiriman pembatalan utas.
SQL - SqlBulkCopy.WriteToServer dapat menyebabkan transaksi ke tabel SQL dalam memori, gagal. Klien mungkin melihat pengecualian dengan pesan "Batas Waktu Eksekusi Kedaluwarsa. Periode batas waktu berlalu sebelum operasi selesai atau server tidak merespons." SqlBulkCopy.WriteToServer mengirim token Perhatian (pesan pembatalan) setelah mengirim data ke SQL Server, menyebabkan server membatalkan transaksi untuk tabel dalam memori.
ASP.NET - Gunakan hash yang sesuai dengan FIPS dalam data telemetri ASP.Net.
- Mengatasi masalah ketika "Tidak ditentukan" bukan nilai yang diizinkan dalam konfigurasi untuk atribut 'cookieSameSite' dari bagian autentikasi formulir dan konfigurasi status sesi.
WPF2 - Mengatasi masalah ketika pemeriksaan ejaan diaktifkan di WPF TextBox atau RichTextBox, kata-kata seperti "dll.", "e.g." diidentifikasi sebagai kesalahan ejaan yang salah.
- Mengatasi masalah ketika beberapa aplikasi WPF Sadar Per-Monitor yang berjalan di .NET 4.8 terkadang mengalami crash dengan exceptionSystem.ComponentModel.Win32Exception.
- Mengatasi masalah di mana TextBlock mengalir ulang (membuat keputusan pemecahan baris yang berbeda) selama render dan uji hit, vs. selama pengukuran. Gejalanya termasuk teks yang hilang, dan FailFast mengalami crash selama pemrosesan teks terprogram.
- Mengatasi masalah dengan kegagalan utas render yang disebabkan oleh HostVisual yang memutuskan sambungannya pada utas yang salah.
- Mengatasi masalah dengan hang saat menggulir TreeView yang pohonnya tidak seragam, dalam arti bahwa anak-anak node tertentu mengatur subpohon yang ukurannya sangat berbeda.
- Mengatasi masalah terkait crash yang dapat terjadi saat menutup tipsalat yang ditutup kembali oleh kode pengguna.
- Ketika HwndHost meninggalkan pohon visual, pelacakan tumpukan dibuat. Ini mahal, dan biasanya tidak perlu. Logika sekarang diubah untuk membuat pelacakan tumpukan hanya ketika kondisi anomali terjadi.
- Mengatasi kebocoran memori di System.Speech.SpeechSynthesizer.
- Perintah Salin DataGrid melemparkan pengecualian jika clipboard sistem dikunci oleh proses lain. Tindakan ini mengalami crash, karena biasanya tidak ada kode aplikasi di tumpukan untuk menangkap pengecualian. Perilaku TextBox (dan aplikasi lain seperti Notepad, Word, browser) dalam situasi ini adalah gagal secara diam-diam - tidak ada yang disalin ke clipboard, tetapi tidak terkecuali. Aplikasi WPF kini dapat ikut serta dalam perilaku ini dengan mengatur <appSettings><add key="ShouldThrowOnDataGridCopyOrCutFailure" value="false"/></appSettings>di file app.config-nya.
- Mengatasi masalah dalam membangun model internal untuk dokumen FixedPage. Beberapa teks muncul dalam urutan yang salah untuk tujuan operasi pengeditan seperti pemilihan dan salin/tempel.
WCF3 - Saat menggunakan nama pengguna Windows UPN dengan format yang mirip dengan username@dns.domain properti nama pengguna NetworkCredential saat menggunakan NetTcpBinding atau NetNamedPipeBinding, WCF akan salah membagi nama pengguna dan dns.domain menempatkannya ke dalam properti UserName dan Domain. Hal ini tidak valid dalam beberapa skenario dan akan mengakibatkan kegagalan untuk mengautentikasi. Perbaikan ini menghapus modifikasi kredensial saat menggunakan nama pengguna UPN. Modifikasi dapat diaktifkan kembali dengan mengatur AppSetting "wcf:enableLegacyUpnUsernameFix" ke true.
Pustaka Bersih - Mengatasi kebocoran memori di HttpListener.
Winforms - Mengatasi masalah dengan DataGridView IsReadOnlystatus aksesibilitas: Narator dan alat lain yang dapat diakses mengumumkan status sel baca-saja.
- Mengatasi regresi dalam .NET Framework 4.8 ketika aplikasi yang menggunakan tipe sel DataGridView ComboBox dan telah memilih Aksesibilitas Tingkat 3, mungkin mengalami crash sesekali saat mengedit sel.
- Mengatasi masalah di ClickOnce RFC3161 kode verifikasi stempel waktu.
Penyempurnaan aksesibilitas Winforms Dalam rilis ini, kami menambahkan penyempurnaan aksesibilitas baru yang dapat diikuti oleh aplikasi Anda. Secara default, perubahan ini dinonaktifkan. Aplikasi yang ikut serta dalam fitur aksesibilitas yang diperkenalkan di .NET 4.8 dan versi lebih lama, dapat menambahkan sakelar kompatibilitas berikut ke file konfigurasi aplikasi:
"Switch.UseLegacyAccessibilityFeatures.4=false"
Secara khusus, jika aplikasi menargetkan .NET 4.8, tambahkan bagian AppContextSwitchOverrides berikut:
<?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>
Jika aplikasi menargetkan versi kerangka kerja yang lebih lama dan ikut serta dalam kumpulan fitur aksesibilitas rilis sebelumnya, tambahkan satu "Switch.UseLegacyAccessibilityFeatures.4=false" sakelar ke bagian yang sudah ada 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>
Penyempurnaan aksesibilitas Winforms yang disertakan dalam rilis ini adalah:- Mengatasi masalah dengan pengumuman item kontrol PropertyGrid dan kategori status diperluas/diciutkan oleh Pembaca Layar.
- Memperbarui pola kontrol Property Grid yang dapat diakses dan elemen dalamnya.
- Memperbarui nama elemen dalam kontrol Kisi Properti yang dapat diakses untuk mengumumkannya dengan benar oleh pembaca layar.
- Membahas properti persegi panjang yang dapat diakses untuk kontrol PropertyGridView
- Memungkinkan pembaca layar untuk mengumumkan status DataGridView ComboBox cell expanded/collapsed dengan benar.

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

Masalah umum dalam pembaruan ini

Aplikasi Kerangka Kerja Presentasi Windows (WPF) yang menggunakan dua elemen HostVisual atau lebih milik utas umum, di mana kedua elemen HostVisual diminta untuk memutuskan sambungan dari target visualnya pada waktu yang kira-kira bersamaan, email gagal dengan kesalahan berikut:

Jenis pengecualian: System.COMException
Pesan: UCEERR_RENDERTHREADFAILURE (HRESULT 0x88980406)
Callstack: bingkai atas adalah System.Windows.Media.Composition.DUCE+Channel.SyncFlush()

Solusi

Anda dapat menonaktifkan perbaikan bermasalah dengan mengatur sakelar AppContext "Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread" ke true, menggunakan salah satu metode yang dijelaskan di sini.  Ini akan memaparkan aplikasi Anda ke bug asli, jadi Anda harus menghapus sakelar setelah perbaikan diterbitkan melalui pembaruan mendatang.

Solusi 1

• Tambahkan entri berikut ke file app.config untuk menonaktifkan perbaikan bermasalah dalam satu aplikasi.

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

Perhatikan bahwa jika konfigurasi aplikasi Anda sudah memiliki entri untuk <AppContextSwitchOverrides>, Anda perlu menambahkan pengaturan baru dalam entri tersebut, yang dipisahkan dari sakelar lain dengan titik koma:

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

Solusi 2

• Terapkan subkey registri berikut untuk menonaktifkan perbaikan bermasalah untuk semua aplikasi WPF di komputer.
 Peringatan
Masalah serius mungkin terjadi jika Anda salah mengubah registri menggunakan Editor Registri atau menggunakan metode lain. Masalah ini mungkin mengharuskan Anda menginstal ulang sistem operasi. Microsoft tidak dapat menjamin bahwa masalah ini dapat diselesaikan. Ubah registri dengan risiko yang Anda tanggung sendiri.

Lokasi: HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\AppContext\
Nama: Switch.System.Media.HostVisual.DisconnectsOnWrongThread
Jenis: String
Nilai: true

Perhatikan bahwa pada sistem operasi 64-bit, Anda juga perlu menerapkan subkunci registri dengan nama, tipe, dan nilai yang sama di lokasi: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\.NETFramework\AppContext\

Resolusi

Kami sedang berusaha menemukan resolusi dan akan menyediakan pembaruan di rilis mendatang.
 

Cara mendapatkan dan menginstal pembaruan

Instal pembaruan ini

Saluran Rilis Tersedia Langkah berikutnya
Windows Update dan Microsoft Update Ya Untuk mengunduh dan menginstal pembaruan ini, buka Pengaturan>,Pembaruan & Keamanan>Windows Update, lalu pilih Periksa pembaruan.
Katalog Microsoft Update Ya Untuk mendapatkan paket mandiri untuk pembaruan ini, buka situs web Katalog Microsoft Update .
Windows Server Update Services (WSUS) Nomor Anda dapat mengimpor pembaruan ini ke WSUS secara manual. Lihat Katalog Microsoft Update untuk instruksinya.

Informasi berkas

Untuk melihat daftar file yang disediakan dalam pembaruan ini, unduh informasi file untuk pembaruan kumulatif.

Prasyarat

Untuk menerapkan pembaruan ini, Anda harus menginstal .NET Framework 3.5 atau 4.8.

Persyaratan mulai ulang

Anda harus memulai ulang komputer setelah menerapkan pembaruan ini jika ada file yang terpengaruh yang sedang digunakan. Kami menyarankan Anda keluar dari semua aplikasi berbasis .NET Framework sebelum menerapkan pembaruan ini.

Cara mendapatkan bantuan dan dukungan untuk pembaruan ini