Feature: File System Provider (ManagedCode.Storage.FileSystem)

Purpose

Implement IStorage on top of the local file system so you can use the same abstraction in production code, local development, and tests:

Main Flows

flowchart LR
  App --> FS[FileSystemStorage : IFileSystemStorage]
  FS --> IO[System.IO]
  IO --> Disk[(Disk)]

Components

DI Wiring

dotnet add package ManagedCode.Storage.FileSystem
using ManagedCode.Storage.FileSystem.Extensions;

builder.Services.AddFileSystemStorageAsDefault(options =>
{
    options.BaseFolder = Path.Combine(builder.Environment.ContentRootPath, "storage");
});

Current Behavior

Tests