Mitigazione: Verifica della presenza dei due punti nel percorso

A partire dalle applicazioni destinate a .NET Framework 4.6.2, sono state apportate alcune modifiche per supportare i percorsi in precedenza non supportati, sia in termini di lunghezza che di formato. In particolare, i controlli per la sintassi del separatore dell'unità appropriata (due punti) sono stati resi più corretti.

Impatto

Queste modifiche bloccano alcuni percorsi URI supportati in precedenza dai metodi Path.GetDirectoryName e Path.GetPathRoot.

Mitigazione

Per risolvere il problema di un percorso in precedenza accettabile che non è più supportato dai metodi Path.GetDirectoryName e Path.GetPathRoot, è possibile eseguire queste operazioni:

  • Rimuovere manualmente lo schema da un URL. Ad esempio, rimuovere file:// da un URL.

  • Passare l'URI a un costruttore Uri e recuperare il valore della proprietà Uri.LocalPath.

  • Rifiutare esplicitamente la normalizzazione del nuovo percorso impostando il commutatore Switch.System.IO.UseLegacyPathHandlingAppContext su true.

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

Vedi anche