Udostępnij za pośrednictwem


Środki zaradcze: Sprawdzanie dwukropka ścieżki

Począwszy od aplikacji przeznaczonych dla programu .NET Framework 4.6.2, wprowadzono wiele zmian w celu obsługi wcześniej nieobsługiwanych ścieżek (zarówno pod względem długości, jak i formatu). W szczególności kontrole prawidłowej składni separatora dysku (dwukropka) zostały poprawione.

Wpływ

Te zmiany blokują niektóre ścieżki identyfikatorów Path.GetDirectoryName URI obsługiwane wcześniej przez metody i Path.GetPathRoot .

Czynności zapobiegawcze

Aby obejść problem wcześniej akceptowalnej ścieżki, która nie jest już obsługiwana przez Path.GetDirectoryName metody i Path.GetPathRoot , można wykonać następujące czynności:

  • Ręcznie usuń schemat z adresu URL. Na przykład usuń file:// z adresu URL.

  • Przekaż identyfikator URI do konstruktora Uri i pobierz wartość Uri.LocalPath właściwości.

  • Rezygnacja z nowej normalizacji ścieżki przez ustawienie Switch.System.IO.UseLegacyPathHandlingAppContext przełącznika na true.

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

Zobacz też