Partager via


Atténuation : Vérifications des signes deux-points dans les chemins d’accès

À compter des applications qui ciblent .NET Framework 4.6.2, plusieurs modifications ont été apportées pour prendre en charge les chemins précédemment non pris en charge (tant en termes de longueur que de format). En particulier, les vérifications de bonne syntaxe de séparateur de lecteur (le signe deux-points) ont été rendues plus correctes.

Répercussion

Ces modifications bloquent certains chemins d’URI que les méthodes Path.GetDirectoryName et Path.GetPathRoot prenaient précédemment en charge.

Atténuation

Pour contourner le problème d’un chemin d’accès précédemment acceptable qui n’est plus pris en charge par les méthodes Path.GetDirectoryName et Path.GetPathRoot, vous pouvez effectuer les opérations suivantes :

  • Supprimez manuellement le schéma d’une URL. Par exemple, supprimez file:// d’une URL.

  • Transmettez l’URI à un Uri constructeur et récupérez la valeur de la Uri.LocalPath propriété.

  • Refusez la nouvelle normalisation de chemin d’accès en affectant à Switch.System.IO.UseLegacyPathHandlingAppContext la valeur true.

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

Voir aussi