Entschärfung: Überprüfung von Pfaden auf Doppelpunkte

Von Apps für die Zielplattform .NET Framework 4.6.2 an wurde eine Reihe von Änderungen vorgenommen, um zuvor nicht unterstützte Pfade zu unterstützen (im Hinblick auf Länge und Format). Insbesondere wurden Prüfungen auf ordnungsgemäße Syntax von Laufwerkstrennzeichen (den Doppelpunkt) strenger definiert.

Auswirkungen

Durch diese Änderungen werden einige URI-Pfade blockiert, die von den Methoden Path.GetDirectoryName und Path.GetPathRoot zuvor unterstützt wurden.

Problemumgehung

Sie können folgendermaßen vorgehen, um das Problem von bisher gültigen Pfaden zu umgehen, die von den Methoden Path.GetDirectoryName und Path.GetPathRoot nicht mehr unterstützt werden:

  • Entfernen Sie manuell das Schema aus einer URL. Entfernen Sie beispielsweise file:// aus einer URL.

  • Übergeben Sie den URI an einen Uri-Konstruktor, und rufen Sie den Wert der Uri.LocalPath-Eigenschaft ab.

  • Entscheiden Sie sich gegen die Normalisierung des neuen Pfades, indem Sie den Schalter Switch.System.IO.UseLegacyPathHandlingAppContextauf true festlegen.

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

Siehe auch

Neuausrichtungsänderungen