Mitigasi: Pemeriksaan Titik Dua Jalur
Dimulai dengan aplikasi yang menargetkan .NET Framework 4.6.2, sejumlah perubahan dibuat untuk mendukung jalur yang sebelumnya tidak didukung (baik dari segi panjang maupun format). Secara khusus, pemeriksaan sintaks pemisah drive yang tepat (titik dua) dibuat lebih benar.
Dampak
Perubahan ini memblokir beberapa jalur URI yang sebelumnya didukung oleh metode Path.GetDirectoryName dan Path.GetPathRoot.
Mitigasi
Untuk mengatasi masalah jalur yang sebelumnya dapat diterima yang tidak lagi didukung oleh metode Path.GetDirectoryName dan Path.GetPathRoot, Anda dapat melakukan hal berikut:
Hapus skema secara manual dari URL. Misalnya, hapus
file://
dari URL.Teruskan URI ke konstruktor Uri, dan ambil nilai properti Uri.LocalPath.
Memilih untuk menolak normalisasi jalur baru dengan mengatur sakelar
Switch.System.IO.UseLegacyPathHandling
AppContext ketrue
.<runtime> <AppContextSwitchOverrides value="Switch.System.IO.UseLegacyPathHandling=true" /> </runtime>