A major limitation of the .NET framework is its inability to truly work with the Windows file system. Even seemingly basic operations such as working file paths longer than 260 characters long is beyond the capabilities of System.IO. This is where AlphaFS comes into play.
AlphaFS is an open source library that is wraps the Win32 calls necessary to fully expose the Windows file system to .NET applications. Much of this functionality is exposed by classes that mirror the System.IO API, but with additional functionality. As an example, consider the Alphaleonis.Win32.Filesystem.DirectoryInfo class.
As you scroll through the list of methods, you’ll notice that many of them have [AlphaFS] in their description. This tag indicates that the method doesn’t exist in the System.IO.DirectoryInfo class. Examples include Compress, various CopyTo methods, recursive Delete, Encrypt, etc.
Other features of AlphaFS include:
- Creating Hardlinks
- Accessing hidden volumes
- Enumeration of volumes
- Transactional file operations
- Support for NTFS Alternate Data Streams
- Accessing network resources (SMB/DFS)
AlphaFS is available on NuGet and is offered under the MIT license.