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.UseLegacyPathHandling
AppContext sutrue
.<runtime> <AppContextSwitchOverrides value="Switch.System.IO.UseLegacyPathHandling=true" /> </runtime>