症状
当您有一个项目明确面向.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。