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é URI cesty, které dříve podporovaly metody Path.GetDirectoryName a Path.GetPathRoot.

Zmírnění

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

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

  • Zadejte URI do konstruktoru Uri a načtěte hodnotu vlastnosti Uri.LocalPath.

  • 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é