Flystorage is a C#/.NET port of the massively popular file storage library Flysystem. It provides the same interface to interact with many different types of filesystems. When you use Flystorage, you’re not only protected from vendor lock-in, you’ll also have a consistent experience for which ever storage is right for you.
WIP
WIP
However this project is a port of the original Flysystem API, there have been a few design changes to better accomodate for C# and .NET. These decisions are described here.
Adapter | Available |
---|---|
Local | ✅ Yes |
InMemory | ✅ Yes |
AWS S3 | ✅ Yes |
FTP | ⌛️ In-progress |
SFTP | ⌛️ In-progress |
Please open an issue for support.
Please contribute using Github Flow. Create a branch, add commits, and open a pull request.
- Clone the project to a local directory
- Restore packages with nuget
Requirements
- .NET SDK >= 5.0
The project contains several xUnit unit tests, the tests can be run with dotnet test
or using your IDE.
This project adopts the Microsoft recommended code quality rules and .NET API usage rules. To adhere to these rules the project uses Microsoft.CodeAnalysis.NetAnalyzers package for code analysis in all projects. On top of that we also do adhere the Microsoft Naming Guidelines.
This package adheres the SemVer v2 versioning theory. To automate the versioning process we are using Nerdbank.Gitversioning.
When a branch is merged with the main branch, the PATCH version will automatically increment.
Because we use SemVer please increment the minor version in the version.json
file when your branch adds a new feature.
Please be aware that each package has it's own version.json
file.