Skip to content
This repository has been archived by the owner on Dec 6, 2024. It is now read-only.

Path Retrieval

Jeffrey Jangli edited this page Aug 2, 2015 · 33 revisions

When applicable, the path result of AlphaFS integration tests are compared against System.IO to ensure the highest compatibility with .NET.

Of course, AlphaFS should match with .NET as much as possible, although in some cases it will not. This is due to .NET not being able to handle the long path format in a consistent way.

For example: System.IO.Path.GetPathRoot()

Input Path: [\\SERVER001\Share]
System.IO : [\\SERVER001\Share]
AlphaFS   : [\\SERVER001\Share]

# Use UNC long path format.
Input Path: [\\?\UNC\SERVER001\Share]
System.IO : [\\?\UNC]
AlphaFS   : [\\?\UNC\SERVER001\Share]

For example: System.IO.Directory.GetDirectoryRoot()

Input Path: [\\?\C:\]
Caught [System.IO] System.ArgumentException: [Illegal characters in path.]
System.IO : [null]
AlphaFS   : [C:\]

# Use UNC long path format.
Input Path: [\\?\UNC\SERVER001\Share\folder2]
Caught [System.IO] System.ArgumentException: [Illegal characters in path.]
System.IO : [null]
AlphaFS   : [\\SERVER001\Share]

Below are methods where AlphaFS will return different results compared to .NET:
(This list has not yet been completed)

Directory.GetDirectoryRoot()

Path.GetFullPath() <br/ >Path.GetPathRoot()