Path.GetDirectoryName e Path.GetPathRoot não funcionam com URIs quando você direcionar o.NET Framework 4.6.2

Sintomas

Quando você possui um projeto que visa explicitamente o.NET Framework 4.6.2 ou que desativa a opção de AppContext Switch.System.IO.UseLegacyPathHandling, Path.GetDirectoryName() e Path.GetPathRoot() lançam uma exceção de caminho inválido quando eles são passados um URI (como http://).

Causa

Esse problema ocorre porque a mesma verificação de correção para dois pontos que é usada para o restante das APIs do caminho foi adicionada incorretamente para essas duas APIs, que normalmente tolerar sintaxe URI.

Resolução

Para contornar esse problema, remova o prefixo URI antes de você chamar essas APIs. Ou então, defina a opção AppContext Switch.System.IO.UseLegacyPathHandling=true.

A equipe do.NET Framework está trabalhando para fornecer uma correção para esse problema em futuras versões do produto.

Para obter mais informações, consulte o.NET Framework 4.6.2 problemas conhecidos.

Mais informações

Para obter mais informações, consulte compatibilidade de aplicativo do.NET Framework 4.6.2.

Precisa de mais ajuda?

Expanda suas habilidades
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar no Microsoft Insider

Estas informações foram úteis?

Obrigado por seus comentários!

Agradecemos pelos seus comentários! Parece que pode ser útil conectar você a um de nossos agentes de suporte do Office.

×