Ś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.UseLegacyPathHandling
AppContext przełącznika natrue
.<runtime> <AppContextSwitchOverrides value="Switch.System.IO.UseLegacyPathHandling=true" /> </runtime>