2009-09-08 18 views
10

非常に長いパスを持つDirectoryInfo、FileInfoで作業しようとしています。DirectoryInfo、FileInfo、非常に長いパス

  • 私がしようと使用\\ \ C:\?長いパス
  • は、私が使用するファイルを試してみてください(私はのfileInfoとDirectoryInfoと違法caracterを得た):// C:/ロングパス(私はURIがサポートされていませんGOT)

私はパスか何か他のものに〜を使用することができます。

私はこのpostを読んで、私はAPIを呼び出して別の方法を使用したいと思います。他の解決策ですか?

マイクロソフトからの記事があります。\\?ファイルパスにlink text

質問は、より長い256文字

答えて

10

Long Paths in .NETblog postseriesを見ると、それが行くようになっていることを誰であるかのパスのために、私は非常に長いパスを扱うことができますどのように、そしてDirectoryInfo、とのFileInfo P/Invokeを使用したWin32 APIは、現在のところ唯一の解決策です。ディレクトリを再構築して、制限を超えないようにしてください。私は過去にこの問題がDelimonからライブラリを使用していた解決

4

方法はDelimon.Win32.IOと呼ばれます。彼のサイトhttp://www.delimon.beが現時点ではダウンしているようです。しかし、私は過去のプロジェクトでそれを使っていましたが、それはチャンピオンのように働いていました。私は今晩あなたのためにそれを追跡しようとするか、単にgoogle経由でどこかに有効なリンクを見つけようとします。乾杯。この問題について議論する別のリンクがあります。

http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/2541a9b9-acd7-4338-89b1-dfc0408e41b5

11

ライブラリの.NET Framework 2.0に対して書かれており、.NETアプリケーションから アクセスに非常に長いフォルダやファイルに使用することができます

This is a .NET Library再びon this location.可能です。

.NET Frameworkが :-(長いファイル名をサポートしていないので、それはそれがない System.IOの完全なレプリカではありませんが、私は。WIN32 APIを呼び出して、System.IOのようなものを 機能をラップライブラリを書かなければなりませんでした32,767文字 までの文字のサポート可能なほとんどのオブジェクトや関数。

Delimon.Win32.IOが長いパス名でSystem.IO の基本的なファイル機能を置き換える必要がありますのでバイバイMAX_PATH問題

これまでにこの問題に遭遇しましたか?

System.IO.PathTooLongExceptionは、未処理でした。

メッセージ:

指定したパス、ファイル名、またはその両方が長すぎます。 完全修飾ファイル名は260文字未満で、 ディレクトリ名は248文字未満でなければなりません。