2009-09-08 8 views
10

Ich versuche, mit DirectoryInfo, FileInfo mit sehr langen Pfad zu arbeiten.DirectoryInfo, FileInfo und sehr langer Pfad

  • Ich versuche use \\ \ c: \ langen Weg (ich habe illegal caracter mit fileinfo und Directory)
  • Ich versuche Verwendung file: // C:/langer Weg (Ich habe uri nicht unterstützt)

Kann ich ~ in einem Pfad oder etwas anderes verwenden.

Ich lese dies post, aber ich möchte einen anderen Weg verwenden, die eine API aufrufen. Gibt es andere Lösungen?

Es gibt einen Artikel von Microsoft für den Einsatz \\? in Dateipfad link text

Die Frage ist, wie kann ich mit sehr langen Weg arbeiten und Directory und Fileinfo für Weg, das mehr länger, dass 256 Zeichen

Antwort

10

im Blick Long Paths in .NETblog postseries, sieht es aus wie gehen Die Win32-API über P/Invoke ist die einzige Lösung im Moment, abgesehen von der Umstrukturierung Ihrer Verzeichnisse, so dass Sie nicht das Limit erreichen.

4

Ein Weg, ich löste dieses Problem in der Vergangenheit war die Verwendung der Bibliothek von Delimon namens Delimon.Win32.IO. Es sieht so aus als wäre seine Seite http://www.delimon.be im Moment nicht erreichbar. Aber ich hatte es in der Vergangenheit bei einem Projekt benutzt und es funktionierte wie ein Champion. Ich kann versuchen, es später am Abend für Sie aufzuspüren oder einfach nur versuchen, über Google einen gültigen Link dazu zu finden. Prost. Hier ist ein weiterer Link, der über dieses Thema spricht.

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

11

Die Bibliothek ist wieder verfügbar on this location.

This is a .NET Library geschrieben gegen .NET Framework 2.0 und kann aus einer .NET-Anwendung Zugriff sehr langen Ordnern und Dateien verwendet werden.

Da das .NET Framework nicht lange Dateinamen :-( unterstützt hatte ich eine Bibliothek zu schreiben, die die WIN32-API-Aufrufe und wickelt diese Funktionen wie System.IO. Während es keine vollständige Kopie des System.IO es tut zur Verfügung haben die meisten Objekte und Funktionen.

Delimon.Win32.IO ersetzt grundlegende Dateifunktionen von System.IO mit Namen langen Weg unterstützen für Charaktere bis zu 32.767 Zeichen So bye bye MAX_PATH Problem

Sind Sie jemals auf dieses Problem gestoßen?

System.IO.PathTooLongException wurde nicht behandelt.

Nachricht:

Der angegebene Pfad, Dateiname, oder beide sind zu lang. Der vollqualifizierte qualifizierte Dateiname muss weniger als 260 Zeichen umfassen und der Verzeichnisname muss weniger als 248 Zeichen umfassen.

Verwandte Themen