Zmírnění: Kontroly dvojtečky cesty

Počínaje aplikacemi, které cílí na rozhraní .NET Framework 4.6.2, bylo provedeno několik změn, které podporovaly dříve nepodporované cesty (jak z hlediska délky, tak formátu). Konkrétně byly provedeny kontroly správné syntaxe oddělovače jednotek (dvojtečka).

Dopad

Tyto změny blokují některé cesty identifikátoru Path.GetDirectoryName URI a Path.GetPathRoot metody, které byly dříve podporovány.

Zmírnění

Chcete-li vyřešit problém dříve přijatelné cesty, která již není podporována Path.GetDirectoryName metodami, Path.GetPathRoot můžete provést následující:

  • Ručně odeberte schéma z adresy URL. Například odeberte file:// z adresy URL.

  • Předejte identifikátor URI konstruktoru Uri a načtěte hodnotu Uri.LocalPath vlastnosti.

  • Odhlaste se z nové normalizace cesty nastavením Switch.System.IO.UseLegacyPathHandlingAppContext přepínače na true.

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

Viz také