軽減策:パスのコロン チェック

.NET Framework 4.6.2 以降を対象とするアプリから、以前はサポートされていなかったパスをサポートするために (長さと形式の両方について) 数多くの変更が加えられました。 具体的には、適切なドライブの区切り構文 (コロン) のチェックがより正しく行われるようになりました。

影響

これらの変更は、以前は Path.GetDirectoryName メソッドと Path.GetPathRoot メソッドでサポートされていた一部の URI のパスをブロックします。

軽減策

Path.GetDirectoryName メソッドや Path.GetPathRoot メソッドでサポートされなくなった、以前は受け入れられていたパスの問題を回避するには、次のようにします。

  • URL からスキームを手動で削除します。 たとえば、URL から file:// を削除します。

  • Uri コンストラクターに URI を渡し、Uri.LocalPath プロパティの値を取得します。

  • Switch.System.IO.UseLegacyPathHandlingAppContexttrue に切り替えて、新しいパスの正規化を無効にします。

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

関連項目