Lihat produk dan sistem operasi yang berlaku pada artikel ini. Artikel ini menjelaskan hotfix rollup 3139550 yang tersedia untuk Microsoft .NET Framework 4.6.1 dan .NET Framework 4.6 pada Windows 8.1, Windows RT 8.1, dan Windows Server 2012 R2. Untuk informasi selengkapnya tentang perbaikan dalam rollup hotfix ini, lihat bagian "Masalah yang diperbaiki rollup hotfix ini".
Pemecahan Masalah
Mengunduh informasi
Hotfix yang sesuai dengan KB3139550 telah menggantikan dengan pembaruan terkini .NET Framework, yang berisi semua perbaikan yang sebelumnya disertakan dalam KB3139550. Disarankan untuk menginstal pembaruan terkini dari .NET Framework.
Untuk informasi selengkapnya tentang cara mengunduh file dukungan Microsoft, klik nomor artikel berikut untuk masuk ke artikel dalam Basis Pengetahuan Microsoft:
119591 Cara mendapatkan file dukungan Microsoft dari layanan online Yang dipindai Microsoft untuk virus. Microsoft menggunakan perangkat lunak deteksi virus terbaru yang tersedia pada tanggal file tersebut diposting. File akan disimpan di server keamanan yang disempurnakan untuk membantu mencegah perubahan yang tidak sah pada file.
Informasi Selengkapnya
Prasyarat
Untuk menerapkan hotfix ini, Anda harus memiliki .NET Framework 4.6.1 atau 4.6 yang sudah diinstal .NET Framework 4.6.
Persyaratan mulai ulang
Anda harus memulai ulang komputer setelah menerapkan hotfix ini jika semua file yang terpengaruh sedang digunakan. Kami menyarankan agar Anda menutup .NET Framework aplikasi berbasis hotfix ini sebelum Anda menerapkan hotfix ini.
Informasi penggantian hotfix
Paket hotfix ini tidak menggantikan paket hotfix yang dirilis sebelumnya.
Masalah yang diperbaiki rollup hotfix ini
Masalah 1
Ketika aplikasi WPF menggunakan TreeViewItem di luar konteks Tampilan Pohon, aplikasi bisa menemukan pengecualian InvalidCastException yang jejak tumpukannya dimulai sebagai berikut:
Sistem. Windows. Controls.VirtualizingPanel.FindScrollOffset(Visual v) Catatan Pengecualian ini terjadi ketika TreeViewItem berada dalam kontrol daftar yang divirtualisasi (misalnya, kontrol ListBox, DataGrid, atau ListView) yang mencoba menemukan offset gulir dari TreeViewItem atau salah satu langkah langkahnya dalam tur. Misalnya, pengecualian ini terjadi jika Anda mendeklarasikan TreeViewItem sebagai akar DataTemplate, dan DataTemplate digunakan sebagai SelTemplate dari kolom DataGrid.Masalah 2
System.Web.Caching dan System.Runtime.Caching melaporkan ukuran memori yang digunakan oleh seluruh AppDomain, bukan memori yang digunakan oleh item cache.
Ini adalah regresi dari .NET Framework 4,5 karena perubahan dalam implementasi Pengatur Waktu. Selain melaporkan ukuran yang salah, objek tambahan yang dirujuk oleh cache dapat secara signifikan mempengaruhi latensi gen2 GC. Di ASP.NET hosting gratis, singgahan juga salah menghitung ukuran semua cache di semua domain aplikasi (seperti yang dilaporkan melalui "Cache % Batas Memori Proses Digunakan" ASP.NET performance counter) saat domain aplikasi dihapus. Perbaikan ini menghapus referensi yang tidak diinginkan dari cache ke objek domain aplikasi lainnya sehingga ukuran yang tepat dilaporkan. Perbaikan ini juga menyertakan perubahan untuk meningkatkan latensi untuk System.Runtime.Caching di komputer multi-inti yang menggunakan Server GC. Selain itu, setelah perbaikan ini diterapkan, ukuran semua cache dalam skenario daur ulang domain aplikasi dihitung dengan benar.Masalah 3
Saat Anda memiliki aplikasi Windows Presentation Foundation (WPF) yang mengandalkan promosi mouse dari gerakan sentuh untuk menangani interaksi pengguna sentuh (bukan dengan langsung menggunakan acara sentuh), Anda mungkin mengalami volume gerakan mouse yang dipromosikan yang sangat rendah.
Sebelumnya, promosi mouse yang pembatasan WPF untuk gerakan sentuh untuk menghindari volume sentuhan yang besar memindahkan dispatcher yang sangat besar. Dalam .NET Framework 4.6.1, perbaikan diperkenalkan untuk memblokir jumlah gerakan sentuh yang diproses. Setelah perubahan ini, pembatasan promosi mouse menyebabkan pengurangan tambahan dalam jumlah gerakan mouse yang dihasilkan. Pembatasan promosi mouse kini dihapus sehingga harus ada hampir korespondensi satu ke satu antara acara pemindahan sentuhan dan acara pemindahan mouse yang dipromosikan.Masalah 4
Anggaplah Anda sedang bekerja pada aplikasi WPF yang menargetkan .NET Framework 4.6. Anda mencoba mengatur nilai CurrentThread.CurrentRig atau CurrentThread.CurrentUI Static melalui metode apa pun yang diminta oleh Dispatcher WPF dengan menggunakan DispatcherOperation. Misalnya, Anda mencoba untuk mengatur nilai ini dalam penanganan kejadian UI atau konstruktor MainWindow. Dalam situasi ini, nilai Current Reset dan CurrentUISertanya direset ke nilai sebelumnya masing-masing pada akhir metode. Jika sebuah aplikasi mengatur CurrentUIBeraktif di dalam konstruktor MainWindow atau dalam penanganan Klik Tombol, pengaturan tersebut mengembalikan ke budaya UI sistem.
Perbaikan ini memastikan bahwa nilai CurrentThread.Current Fix/CurrentUI Fix yang diatur dalam metode di aplikasi WPF tetap seperti halnya sebelum .NET Framework 4.6.Masalah 5
Dalam versi .NET Framework 4.6, bendera baru, TaskContinuationOptions.RunContinuationsAsynchronously, ditambahkan ke pustaka Tugas. Namun, ketika Anda menggunakan bendera ini bersama dengan Task.WhenAll, Task.WhenAny atau Task.Unwrap, bendera tidak memiliki efek. Bendera diperkenalkan untuk menghindari kondisi kemacetan tertentu. Perbaikan ini memastikan bahwa semua jenis Kelanjutan tugas menghargai bendera baru.
Masalah 6
Dalam versi .NET Framework 4.6, terdapat bug di AppContext yang menyebabkan keamanan thread metode AppContext diterapkan dengan tidak benar. AppContext adalah bagian dari infrastruktur untuk mengurangi perubahan yang putus. Anda bisa menggunakan AppContext untuk menyetel dan mengambil bendera dan membuat keputusan di aplikasi Anda berdasarkan data itu.
Perbaikan ini memungkinkan memperbaiki keamanan utas untuk metode di AppContext yang terkait dengan pengaturan dan mengambil nilai sakelar.Masalah 7
Ketika Anda menemukan kasus tepi yang memiliki alokasi dan pola keberlangsungan, dan Anda memerlukan segmen baru di tumpukan yang dikelola, bank sampah bisa menghitung ukuran commit yang lebih kecil dari seharusnya. Hal ini menyebabkan pelanggaran akses selama fase ringkas karena bank sampah mencoba menulis ke memori tak terbatas.
Perbaikan ini menghitung ukuran dengan benar.Masalah 8
Ketika Anda membuat kode asli untuk metode tertentu, .NET Framework dan proses NGEN mungkin mengalami crash yang tidak terduga.
Masalah 9
RyuJit menghasilkan instruksi yang tidak benar untuk membandingkan bilangan bulat 16-bit yang tidak ditandatangani di daftar. Ini menghasilkan hasil yang salah jika nilai input memiliki nilai MSB berbeda dan jika instruksi bandingkan yang dihasilkan gunakan operand register.
Perbaikan ini menghasilkan instruksi yang benar.Berlaku untuk
Artikel ini berlaku untuk hal berikut:
-
Microsoft .NET Framework 4.6.1
-
Microsoft .NET Framework 4.6, jika digunakan dengan:
-
Windows 8.1
-
Windows RT 8.1
-
Windows Datacenter Server 2012 R2
-
Windows Server 2012 R2 Essentials
-
Windows Server 2012 R2 untuk Sistem yang Disematkan
-
Windows Server 2012 R2 Foundation
-
Windows Server 2012 R2 Standard
-