FluentStorage 8.0.3
Prefix ReservedSee the version list below for details.
dotnet add package FluentStorage --version 8.0.3
NuGet\Install-Package FluentStorage -Version 8.0.3
<PackageReference Include="FluentStorage" Version="8.0.3" />
<PackageVersion Include="FluentStorage" Version="8.0.3" />
<PackageReference Include="FluentStorage" />
paket add FluentStorage --version 8.0.3
#r "nuget: FluentStorage, 8.0.3"
#:package FluentStorage@8.0.3
#addin nuget:?package=FluentStorage&version=8.0.3
#tool nuget:?package=FluentStorage&version=8.0.3
FluentStorage 8.0.3
- Please read the Migration Guide to help you migrate from older versions to FluentStorage 8!
- FluentStorage
- All cloud storage API methods have been redesigned to improve productivity and ease of use.
- All extension-method factory API has been removed: For example
StorageFactory.BlobsandStorageFactory.Messagesno longer exist. - Factory classes have been introduced on a per-provided basis.
- Factory classes can be accessed directly to construct new
IStoreobjects: For exampleAwsS3Storage.FromCredentialsrather thanStorageFactory.Blobs.AwsS3. - All API methods are
asyncand the "Async" suffix has been dropped. - All API methods have an optional
CancellationTokenrather than forcing users to provide one. - At initialization, S3-compatible stores will no longer create the bucket if the specified bucket does not exist.
WriteAsync()is renamed toSetObject()and will auto compute the object's MIME type (Content-Type) if it is not supplied.GetPresignedUrl()and its variations will auto compute the object's MIME type (Content-Type).CreateDirectory()will no longer create a "dummy file" in a cloud storage bucket.RenameAsync()is renamed toMoveObject()and will no longer perform a recursive copy and delete, instead it will efficiently move using native operations.ExistsAsync()is renamed toObjectExists()and will consistently return true/false if the file or folder exists on the bucket/server.DeleteAsync()is renamed toDeleteObject()and will consistently delete a single file or folder from the bucket/server.DeleteObjects()will consistently delete multiple files or folders from the bucket/server.GetClient()will consistently return the internal cloud SDK client for all types of cloud storage. (ReplacesNativeBlobClient)- Collections returned by APIs will always be
Listinstead ofIReadOnlyCollection. - Exceptions are moved into the
FluentStorage.Exceptionsnamespace - Enums are moved into the
FluentStorage.Enumsnamespace - Bucket stores now support streaming/seeking, presigned URL and more object manipulation API
- We no longer support Databricks, ServiceFabric, EventHub, Virtual storage and ZIP archives
- FluentStorage.AWS
- Breaking changes to entire API surface to improve productivity and ease of use.
- New API:
GetClient,MoveObject,DownloadObject,UploadObject,OpenRead,OpenWrite,GetUploadUrl,GetDownloadUrl,GetPresignedUrl,GetObjectSas,OpenRange,OpenSeekable,GetObjectLength.
- FluentStorage.GCP
- Breaking changes to entire API surface to improve productivity and ease of use.
- New API:
GetPresignedUrl,GetObjectSas,MoveObject,DeleteDirectory,OpenRange,OpenSeekable,GetObjectLength.
- FluentStorage.Azure.Blobs
- Breaking changes to entire API surface to improve productivity and ease of use.
- New API:
GetClient,MoveObject,DownloadObject,UploadObject,OpenRead,OpenWrite,GetUploadUrl,GetDownloadUrl,GetPresignedUrl,GetObjectSas,OpenRange,OpenSeekable,GetObjectLength.
- FluentStorage.Azure.Files
- Breaking changes to entire API surface to improve productivity and ease of use.
- New API:
GetClient,OpenRange,OpenSeekable,GetObjectLength.
- FluentStorage.Azure.ServiceBus
- Breaking changes to entire API surface to improve productivity and ease of use.
- FluentStorage.Azure.KeyVault
- Breaking changes to entire API surface to improve productivity and ease of use.
- FluentStorage.Azure.Queues
- Breaking changes to entire API surface to improve productivity and ease of use.
- FluentStorage.FTP
- Breaking changes to entire API surface to improve productivity and ease of use.
- FTP has new directory and server API for file systems
- New API:
GetServer,CreateDirectory,DeleteDirectory,DirectoryExists,MoveDirectory,GetFilePermissions,SetFilePermissions,MoveObject,DownloadObject,UploadObject,GetBytes,SetBytes,OpenRange,OpenSeekable,GetObjectLength.
- FluentStorage.SFTP
- Breaking changes to entire API surface to improve productivity and ease of use.
- SFTP has new directory and server API for file systems
- New API:
GetServer,CreateDirectory,DeleteDirectory,DirectoryExists,MoveDirectory,GetFilePermissions,SetFilePermissions,MoveObject,DownloadObject,UploadObject,GetBytes,SetBytes,OpenRange,OpenSeekable,GetObjectLength.
- FluentStorage.Alibaba
- New: Alibaba OSS provider using native Aliyun SDK. Introduces the factory API
AlibabaStorageand store classAlibabaStore.
- New: Alibaba OSS provider using native Aliyun SDK. Introduces the factory API
- FluentStorage.Minio
- New: MinIO storage provider using native Minio SDK. Introduces the factory API
MinioStorageand store classMinioStore.
- New: MinIO storage provider using native Minio SDK. Introduces the factory API
- FluentStorage.Databricks
- Deprecated and unlisted from Nuget since it is out of scope.
- FluentStorage.Azure.EventHub
- Deprecated and unlisted from Nuget since it has very low community usage.
- FluentStorage.Azure.DataLake
- Deprecated and unlisted from Nuget since DataLake Gen 1 is obsolete.
- FluentStorage.Azure.ServiceFabric
- Deprecated and unlisted from Nuget since it is out of scope and has very low community usage.
| 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 is compatible. 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 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 is compatible. |
| .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
- Microsoft.IO.RecyclableMemoryStream (>= 3.0.1)
- System.Text.Json (>= 8.0.6)
- System.Threading.Thread (>= 4.3.0)
- TestableIO.System.IO.Abstractions.Wrappers (>= 22.0.15)
-
.NETStandard 2.1
- Microsoft.IO.RecyclableMemoryStream (>= 3.0.1)
- System.Text.Json (>= 8.0.6)
- System.Threading.Thread (>= 4.3.0)
- TestableIO.System.IO.Abstractions.Wrappers (>= 22.0.15)
-
net7.0
- Microsoft.IO.RecyclableMemoryStream (>= 3.0.1)
- TestableIO.System.IO.Abstractions.Wrappers (>= 22.0.15)
-
net8.0
- Microsoft.IO.RecyclableMemoryStream (>= 3.0.1)
- TestableIO.System.IO.Abstractions.Wrappers (>= 22.0.15)
-
net9.0
- Microsoft.IO.RecyclableMemoryStream (>= 3.0.1)
- TestableIO.System.IO.Abstractions.Wrappers (>= 22.0.15)
NuGet packages (34)
Showing the top 5 NuGet packages that depend on FluentStorage:
| Package | Downloads |
|---|---|
|
Elsa.Core
Elsa is a set of workflow libraries and tools that enable lean and mean workflowing capabilities in any .NET Core application. This package contains the core of Elsa. Tip: reference the `Elsa` package instead of this one. |
|
|
Elsa.Http
Provides HTTP activities to listen for and send out HTTP requests. |
|
|
FluentStorage.AWS
Extension to FluentStorage providing integration with AWS S3 blob storage. |
|
|
FluentStorage.Azure.Blobs
Extension to FluentStorage providing Azure blob storage. |
|
|
Elsa.Activities.BlobStorage
Elsa is a set of workflow libraries and tools that enable lean and mean workflowing capabilities in any .NET Core application. This package provides activities to read and write files to blob storage using FluentStorage that provides a generic interface for popular cloud storage providers like Amazon S3, Azure Service Bus, Azure Event Hub, Azure Storage, Azure Data Lake Store thus abstracting Blob and Messaging services. |
GitHub repositories (3)
Showing the top 3 popular GitHub repositories that depend on FluentStorage:
| Repository | Stars |
|---|---|
|
elsa-workflows/elsa-core
The Workflow Engine for .NET
|
|
|
kurrent-io/KurrentDB
KurrentDB is a database that's engineered for modern software applications and event-driven architectures. Its event-native design simplifies data modeling and preserves data integrity while the integrated streaming engine solves distributed messaging challenges and ensures data consistency.
|
|
|
bitfoundation/bitplatform
Build all of your apps using what you already know and love ❤️
|
| Version | Downloads | Last Updated |
|---|---|---|
| 8.0.16 | 0 | 7/23/2026 |
| 8.0.15 | 0 | 7/23/2026 |
| 8.0.14 | 0 | 7/23/2026 |
| 8.0.13 | 0 | 7/23/2026 |
| 8.0.12 | 97 | 7/22/2026 |
| 8.0.11 | 186 | 7/21/2026 |
| 8.0.10 | 557 | 7/20/2026 |
| 8.0.9 | 245 | 7/19/2026 |
| 8.0.8 | 883 | 7/18/2026 |
| 8.0.7 | 131 | 7/18/2026 |
| 8.0.6 | 861 | 7/17/2026 |
| 8.0.5 | 479 | 7/17/2026 |
| 8.0.4 | 867 | 7/16/2026 |
| 8.0.3 | 311 | 7/16/2026 |
| 8.0.2 | 372 | 7/16/2026 |
| 8.0.0 | 1,800 | 7/15/2026 |
| 7.1.1 | 1,973 | 7/6/2026 |
| 7.1.0 | 1,392 | 7/6/2026 |
| 7.0.0 | 229 | 7/6/2026 |
| 6.0.4 | 52,483 | 5/6/2026 |