次の方法で共有


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

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

インパクト

これらの変更により、以前にサポートされていた Path.GetDirectoryName メソッドと Path.GetPathRoot メソッドの URI パスがいくつかブロックされます。

緩和策

Path.GetDirectoryNameおよびPath.GetPathRootメソッドでサポートされなくなった、以前に許容されていたパスの問題を回避するには、次の操作を行います。

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

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

  • Switch.System.IO.UseLegacyPathHandlingAppContext スイッチを true に設定して、新しいパスの正規化を無効にします。

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

こちらも参照ください