LTRData.DiscUtils.VirtualFileSystem 1.0.89

dotnet add package LTRData.DiscUtils.VirtualFileSystem --version 1.0.89
                    
NuGet\Install-Package LTRData.DiscUtils.VirtualFileSystem -Version 1.0.89
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="LTRData.DiscUtils.VirtualFileSystem" Version="1.0.89" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="LTRData.DiscUtils.VirtualFileSystem" Version="1.0.89" />
                    
Directory.Packages.props
<PackageReference Include="LTRData.DiscUtils.VirtualFileSystem" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add LTRData.DiscUtils.VirtualFileSystem --version 1.0.89
                    
#r "nuget: LTRData.DiscUtils.VirtualFileSystem, 1.0.89"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package LTRData.DiscUtils.VirtualFileSystem@1.0.89
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=LTRData.DiscUtils.VirtualFileSystem&version=1.0.89
                    
Install as a Cake Addin
#tool nuget:?package=LTRData.DiscUtils.VirtualFileSystem&version=1.0.89
                    
Install as a Cake Tool

LTRData.DiscUtils.VirtualFileSystem

Composable .NET virtual filesystem trees, TAR and ZIP filesystem readers, and a TAR image builder through DiscUtils abstractions.

Part of the LTRData DiscUtils fork. Package IDs use LTRData.DiscUtils; C# namespaces remain DiscUtils.

Installation

dotnet add package LTRData.DiscUtils.VirtualFileSystem

Capabilities

Capability Support
Build a virtual directory tree Yes
Supply file content Streams or file-open delegates
Expose common filesystem APIs Yes
Read existing TAR / ZIP archives Yes, as read-only filesystem views
Create TAR archives Yes, using TarFileSystemBuilder
Create ZIP archives / modify existing archives No through these filesystem wrappers
Write behavior Depends on options, callbacks and implemented operations

Usage notes

VirtualFileSystem, its directory/file entries and VirtualFileSystemOptions let applications compose a filesystem view. TarFileSystem and ZipFileSystem provide read-only archive views; TarFileSystemBuilder builds new TAR images. The TAR view skips symbolic links. ZIP entries are decompressed into memory when opened, including large entries backed by sparse memory buffers. CopyFile is not implemented; some metadata APIs also have limitations. Freeze can make an assembled tree read-only. Registration enables automatic TAR/ZIP filesystem detection; no registration is needed to construct a tree or use the readers/builder directly.

Registration

For automatic discovery, register the providers implemented by this package:

DiscUtils.VirtualFileSystem.Formats.Register();

Direct use of the concrete APIs in this package does not require discovery registration. Each registration call covers only its own assembly. Register DiscUtils.Core.Formats.Register() as well when using generic disk opening through the local-file transport, and register other disk/filesystem providers as needed. These registration calls support trimming and Native AOT; this is not a guarantee for every operation in the package.

Example

using System;
using DiscUtils.VirtualFileSystem;

using var fs = new VirtualFileSystem(new VirtualFileSystemOptions { CanWrite = true });
fs.AddDirectory("Reports");
fs.Freeze();
Console.WriteLine(fs.DirectoryExists("Reports"));

Open a TAR filesystem view

using System;
using System.IO;
using DiscUtils.VirtualFileSystem;

using var archive = File.OpenRead("files.tar");
using var fs = new TarFileSystem(archive, ownsStream: false);
foreach (var file in fs.Root.GetFiles())
    Console.WriteLine(file.FullName);

Documentation

Repository and capability matrix · Wiki · Migration guide · Format registration and Native AOT

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 is compatible. 
.NET Framework net46 is compatible.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 is compatible.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (6)

Showing the top 5 NuGet packages that depend on LTRData.DiscUtils.VirtualFileSystem:

Package Downloads
LTRData.DiscUtils.FileSystems

DiscUtils meta-package for filesystem readers, supported filesystem writers and virtual filesystem abstractions.

LTRData.DiscUtils

Broad DiscUtils meta-package for managed .NET disk images, filesystems, storage protocols and related storage formats.

LTRData.DiscUtils.Dokan

Mounts DiscUtils IFileSystem implementations using Dokan file system driver

LTRData.DiscUtils.MountFuse

FUSE integration for exposing DiscUtils filesystem implementations on platforms supported by LTRData.FuseDotNet.

LTRData.DiscUtils.MountDokan

Windows integration for exposing DiscUtils filesystem implementations through the Dokan filesystem driver.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.89 99 9/22/2026
1.0.88 897 8/3/2026
1.0.87 373 7/20/2026
1.0.86 716 7/4/2026
1.0.85 338 6/30/2026
1.0.84 312 6/27/2026
1.0.83 498 6/18/2026
1.0.82 405 5/26/2026
1.0.81 414 5/14/2026
1.0.80 443 4/24/2026
1.0.77 459 3/13/2026
1.0.76 409 3/10/2026
1.0.75 352 2/20/2026
1.0.74 313 2/18/2026
1.0.73 1,127 1/5/2026
1.0.72 599 11/25/2025
1.0.71 531 11/19/2025
1.0.70 541 11/11/2025
1.0.69 503 10/31/2025
1.0.68 443 10/30/2025
Loading failed