Kockázatcsökkentés: Elérési út kettőspont-ellenőrzései

A .NET-keretrendszer 4.6.2-es verziójára vonatkozó alkalmazásoktól kezdve számos módosítás történt a korábban nem támogatott útvonalak támogatásához (mind a hossz, mind a formátum tekintetében). Különösen a megfelelő meghajtóelválasztó szintaxis (a kettőspont) ellenőrzése lett pontosítva.

Hatás

Ezek a módosítások blokkolják az Path.GetDirectoryName és Path.GetPathRoot metódusok által korábban támogatott URI-útvonalakat.

Enyhítés

A korábban elfogadható, de már a Path.GetDirectoryName és Path.GetPathRoot metódusok által nem támogatott elérési út problémájának megoldására a következőket teheti:

  • Manuálisan távolítsa el a sémát egy URL-címről. Távolítsa el file:// például egy URL-címről.

  • Adja át az URI-t egy Uri konstruktornak, és kérje le a Uri.LocalPath tulajdonság értékét.

  • Az új elérési út normalizálásának mellőzése érdekében állítsa a Switch.System.IO.UseLegacyPathHandlingAppContext kapcsolót true.

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

Lásd még