Проблема
Если у вас есть проект, который явно нацелен на платформа .NET Framework 4.6.2 или отключает переключатель AppContext Switch.System.IO.UseLegacyPathHandling, Path.GetDirectoryName() и Path.GetPathRoot() выбрасывают исключение недопустимого пути, когда им передается URI (например, http://).
Причина
Эта проблема возникает из-за того, что та же проверка правильности для двоеточий, которая используется для остальных API пути, была неправильно добавлена в эти два API, которые обычно допускают синтаксис URI.
Решение
Чтобы обойти эту проблему, удалите префикс URI перед вызовом этих API. Или установите переключатель AppContext Switch.System.IO.UseLegacyPathHandling=true.
Команда платформы .NET Framework работает над исправлением этой проблемы в будущих версиях продукта.
Дополнительные сведения см. в разделе "Известные проблемы" в платформе .NET Framework 4.6.2.
Дополнительные сведения
Дополнительные сведения см. в разделе Совместимость приложений в платформа .NET Framework 4.6.2.