Bagikan melalui


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.UseLegacyPathHandlingAppContext ke true.

    <runtime>  
        <AppContextSwitchOverrides value="Switch.System.IO.UseLegacyPathHandling=true" />
    </runtime>  
    

Lihat juga