Compartir a través de


Mitigación: comprobaciones de dos puntos en las rutas de acceso

A partir de las aplicaciones que tienen como destino .NET Framework 4.6.2, se realizaron varios cambios para admitir rutas de acceso no admitidas anteriormente (tanto en términos de longitud como de formato). En concreto, las comprobaciones de la sintaxis de separador de la unidad correspondiente (dos puntos) se realizan de manera más correcta.

Impacto

Estos cambios bloquean algunas rutas del identificador URI que los métodos Path.GetDirectoryName y Path.GetPathRoot admitían anteriormente.

Mitigación

Para solucionar el problema de una ruta de acceso que anteriormente era aceptable pero que ya no es compatible con los métodos Path.GetDirectoryName y Path.GetPathRoot, puede hacer lo siguiente:

  • Quite manualmente el esquema de una dirección URL. Por ejemplo, elimine file:// de una URL.

  • Pase el URI a un Uri constructor y recupere el valor de la Uri.LocalPath propiedad .

  • Desactive la nueva normalización de la ruta estableciendo la Switch.System.IO.UseLegacyPathHandlingAppContext opción en true.

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

Consulte también