VOOZH about

URL: https://www.nuget.org/packages/Zio/

⇱ NuGet Gallery | Zio 0.23.0



dotnet add package Zio --version 0.23.0
 
 
NuGet\Install-Package Zio -Version 0.23.0
 
 
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="Zio" Version="0.23.0" />
 
 
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Zio" Version="0.23.0" />
 
Directory.Packages.props
<PackageReference Include="Zio" />
 
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 Zio --version 0.23.0
 
 
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Zio, 0.23.0"
 
 
#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 Zio@0.23.0
 
 
#: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=Zio&version=0.23.0
 
Install as a Cake Addin
#tool nuget:?package=Zio&version=0.23.0
 
Install as a Cake Tool
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Zio 👁 ci
👁 Coverage Status
👁 NuGet

<img align="right" width="160px" height="160px" src="https://raw.githubusercontent.com/xoofx/zio/main/img/zio.png">

Zio provides a simple, powerful, cross-platform filesystem abstraction for .NET with many built-ins filesystems.

Features

  • Compatible with netstandard2.0, netstandard2.1 and net8.0+
  • API providing all operations provided by the regular System.IO API (e.g File.Move, Directory.Delete... etc.)
    • Allowing atomic filesystem operations (e.g File.Replace...)
  • A simple interface abstraction IFileSystem
  • Supports for filesystem watcher through the IFileSystem.Watch method and the IFileSystemWatcher interface
    • For all builtin filesystems (aggregates, memory...etc.)
  • All paths are normalized through a lightweight uniform path struct UPath
  • Multiple built-ins filesystems:
    • PhysicalFileSystem to access the physical disks, directories and folders.
      • With uniform paths, this filesystem on Windows is working like on a Windows Subsystem Linux (WSL), by remapping drives to mount directory (e.g path /mnt/c/Windows equivalent to C:\Windows)
    • MemoryFileSystem to access a filesystem in memory:
      • Trying to be 100% compatible with a true PhysicalFileSystem (including exceptions)
      • Efficient concurrency with a per node (file or directory) locking mechanism
      • A safe hierarchical locking strategy (following Unix kernel recommendations for directory locking)
      • Support for FileShare.Read, FileShare.Write and FileShare.ReadWrite
      • Internally support for filesystem atomic operations (File.Replace)
    • ZipArchiveFileSystem to access zip archives:
      • This filesystem is a wrapper around the ZipArchive class
      • It can work in case sensitive and case insensitive mode
      • Support for FileShare.Read with ZipArchiveMode.Read
    • On top of these final filesystem, you can compose more complex filesystems:
      • AggregateFileSystem providing a read-only filesystem aggregating multiple filesystem that offers a merged view
      • MountFileSystem to mount different filesystems at a specific mount point name
      • SubFileSystem to view a sub-folder of another filesystem as if it was a root / directory
      • ReadOnlyFileSystem to interact safely with another filesystem in read-only mode
  • Higher level API similar to FileSystemEntry, FileEntry and DirectoryEntry offering a similar API to their respective FileSystemInfo, FileInfo, DirectoryInfo

Usage

Accessing a physical filesystem:

var fs = new PhysicalFileSystem();
foreach(var dir in fs.EnumerateDirectories("/mnt/c"))
{
 // ...
}

Using an in-memory filesystem:

var fs = new MemoryFileSystem();
fs.WriteAllText("/temp.txt", "This is a content");
if (fs.FileExists("/temp.txt"))
{
 Console.WriteLine("The content of the file:" + fs.ReadAllText("/temp.txt"))
}

The following documentation provides more information about the API and how to use it.

Documentation

The documentation is directly available as part of this repository in the /doc folder.

Download

Zio is available as a NuGet package: 👁 NuGet

Build

In order to build Zio, you need to install Visual Studio 2022 with latest .NET 9.0 SDK

License

This software is released under the BSD-Clause 2 license.

Credits

The logo is File by jeff from the Noun Project

Author

Alexandre MUTEL aka xoofx

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

  • .NETStandard 2.1

    • No dependencies.
  • net10.0

    • No dependencies.
  • net8.0

    • No dependencies.

NuGet packages (25)

Showing the top 5 NuGet packages that depend on Zio:

Package Downloads
ROFSDB

Package Description

Libplanet.Store

Package Description

com.csutil.cscore

cscore is a lightweight library providing commonly used helpers and patterns for all your C# projects including Logging, PubSub and Injection. See more details at https://github.com/cs-util-com/cscore

Borg.Transporter.Core

Common Transporter code

Test262Harness

Test262 Harness for .NET

GitHub repositories (10)

Showing the top 10 popular GitHub repositories that depend on Zio:

Repository Stars
Facepunch/sbox-public
s&box is a modern game engine, built on Valve's Source 2 and the latest .NET technology, it provides a modern intuitive editor for creating games
planetarium/libplanet
Blockchain in C#/.NET for on-chain, decentralized gaming
SnowflakePowered/snowflake
:snowflake: :video_game: Emulator Frontend and SDK
cs-util-com/cscore
cscore is a minimal-footprint library providing commonly used helpers & patterns for your C# projects. It can be used in both pure C# and Unity projects.
furesoft/Slithin
A management application for the remarkable tablet
OpenTPW/OpenTPW
An open-source re-implementation of Bullfrog's Sim Theme Park / Theme Park World (1999)
lunet-io/lunet
A fast, modular static website generator
xoofx/NPlug
Develop VST3 audio native plugins with .NET
xoofx/CppAst.CodeGen
An extensible library providing C# PInvoke codegen from C/C++ files for .NET
dn-vm/dnvm
dnvm is a command-line interface for installing and updating different dotnet SDKs
Version Downloads Last Updated
0.23.0 1,417 6/8/2026
0.22.2 27,666 4/17/2026
0.22.1 25,739 11/25/2025 0.22.1 has at least one vulnerability with low severity.
0.22.0 609 11/25/2025 0.22.0 has at least one vulnerability with low severity.
0.21.3 1,470 11/15/2025 0.21.3 has at least one vulnerability with low severity.
0.21.2 15,071 9/14/2025 0.21.2 has at least one vulnerability with low severity.
0.21.1 668 9/14/2025 0.21.1 has at least one vulnerability with low severity.
0.21.0 21,840 4/7/2025 0.21.0 has at least one vulnerability with low severity.
0.20.0 12,770 12/5/2024 0.20.0 has at least one vulnerability with low severity.
0.19.2 24,427 8/1/2024 0.19.2 has at least one vulnerability with low severity.
0.19.1 3,548 7/19/2024 0.19.1 has at least one vulnerability with low severity.
0.19.0 6,758 6/23/2024 0.19.0 has at least one vulnerability with low severity.
0.18.1 723 6/21/2024 0.18.1 has at least one vulnerability with low severity.
0.18.0 317,742 6/1/2024 0.18.0 has at least one vulnerability with low severity.
0.17.1 1,118 5/20/2024 0.17.1 has at least one vulnerability with low severity.
0.17.0 387,234 10/27/2023 0.17.0 has at least one vulnerability with low severity.
0.16.2 63,286 1/24/2023 0.16.2 has at least one vulnerability with low severity.
0.16.1 11,441 11/14/2022 0.16.1 has at least one vulnerability with low severity.
0.16.0 1,073 11/12/2022 0.16.0 has at least one vulnerability with low severity.
0.15.0 60,740 4/24/2022 0.15.0 has at least one vulnerability with low severity.
Loading failed