YngveHestem.Storage.Local
1.0.1
dotnet add package YngveHestem.Storage.Local --version 1.0.1
NuGet\Install-Package YngveHestem.Storage.Local -Version 1.0.1
<PackageReference Include="YngveHestem.Storage.Local" Version="1.0.1" />
<PackageVersion Include="YngveHestem.Storage.Local" Version="1.0.1" />
<PackageReference Include="YngveHestem.Storage.Local" />
paket add YngveHestem.Storage.Local --version 1.0.1
#r "nuget: YngveHestem.Storage.Local, 1.0.1"
#:package YngveHestem.Storage.Local@1.0.1
#addin nuget:?package=YngveHestem.Storage.Local&version=1.0.1
#tool nuget:?package=YngveHestem.Storage.Local&version=1.0.1
YngveHestem.Storage.Local
A small .NET library implementing a local filesystem storage provider that conforms to the YngveHestem.Storage.Abstractions interfaces.
This project provides a straightforward storage provider for working with files and folders on the local filesystem. It implements the provider interfaces so you can write backend-agnostic code that can later be switched to WebDAV or other providers without changing business logic.
Key features
- Local filesystem provider implementation (files, folders, properties).
- Types that implement the abstractions defined in
YngveHestem.Storage.Abstractions. - Simple, testable API for enumerating, reading, writing, and inspecting files and folders.
Quick start
- Add a project reference or a NuGet reference to the package containing this provider.
- Create or obtain an
IStorageProviderinstance (the local provider implements this interface). - Use
IStorageFolderandIStorageFileto work with the filesystem through the abstraction.
Example
// Correct example using the LocalStorageProvider and the IStorage abstractions
// Requires C# 7.1+ for async Main
using System;
using System.Threading.Tasks;
using YngveHestem.Storage.Local;
using YngveHestem.Storage.Abstractions;
class Program
{
static async Task Main()
{
// Create the provider (LocalStorageProvider has a default constructor)
var provider = new LocalStorageProvider();
// Use an existing directory path on your machine (absolute or relative)
var folderPath = "/path/to/root"; // change to a valid path
var folder = await provider.TryGetFolderAsync(folderPath);
if (folder == null)
{
Console.WriteLine($"Folder not found: {folderPath}");
return;
}
var items = await folder.GetItemsAsync();
foreach (var item in items)
{
Console.WriteLine(item.Name);
}
}
}
Contributing
If you add new functionality or fixes, please include tests when practical and update the README with usage examples for the new API surface.
License
See the top-level LICENSE file for license details.
| Product | Versions 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 was computed. 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 was computed. 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 was computed. 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 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. 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. |
-
.NETStandard 2.0
- YngveHestem.Storage.Abstractions (>= 1.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
- Initial release