CommunityToolkit.Aspire.Minio.Client
13.0.0
Prefix Reserved
dotnet add package CommunityToolkit.Aspire.Minio.Client --version 13.0.0
NuGet\Install-Package CommunityToolkit.Aspire.Minio.Client -Version 13.0.0
<PackageReference Include="CommunityToolkit.Aspire.Minio.Client" Version="13.0.0" />
<PackageVersion Include="CommunityToolkit.Aspire.Minio.Client" Version="13.0.0" />
<PackageReference Include="CommunityToolkit.Aspire.Minio.Client" />
paket add CommunityToolkit.Aspire.Minio.Client --version 13.0.0
#r "nuget: CommunityToolkit.Aspire.Minio.Client, 13.0.0"
#:package CommunityToolkit.Aspire.Minio.Client@13.0.0
#addin nuget:?package=CommunityToolkit.Aspire.Minio.Client&version=13.0.0
#tool nuget:?package=CommunityToolkit.Aspire.Minio.Client&version=13.0.0
CommunityToolkit.Aspire.Minio.Client
Registers a MinIOClient in the DI container for connecting to MinIO.
Getting started
Prerequisites
- MinIO or other S3-compatible storage.
Install the package
Install the .NET Aspire MinIO Client library with NuGet:
dotnet add package CommunityToolkit.Aspire.Minio.Client
Usage example
In the Program.cs file of your project, call the AddMinioClient extension method to register a MinioClient for use via the dependency injection container. The method takes a connection name parameter.
builder.AddMinioClient("minio");
Configuration
The .NET Aspire MinIO Client integration provides multiple options to configure the server connection based on the requirements and conventions of your project.
Use a connection string
When using a connection string from the ConnectionStrings configuration section, you can provide the name of the connection string when calling builder.AddMinioClient():
builder.AddMinioClient("minio");
And then the connection string will be retrieved from the ConnectionStrings configuration section:
{
"ConnectionStrings": {
"minio": "Endpoint=http://localhost:9001/;AccessKey=minioAdmin;SecretKey=minioAdmin"
}
}
Use configuration providers
The .NET Aspire MinIO Client integration supports Microsoft.Extensions.Configuration.
It loads the MinioClientSettings from configuration by using the Aspire:Minio:Client key.
This key can be overriden by using the configurationSectionName method parameter.
Example appsettings.json that configures some of the options:
{
"Aspire": {
"Minio": {
"Client": {
"Endpoint": "http://localhost:9001/",
"AccessKey": "minioAdmin",
"SecretKey": "minioAdmin"
}
}
}
}
Use inline delegates
Also you can pass the Action<MinioClientSettings> configureSettings delegate to set up some or all the options inline, for example to set the API key from code:
builder.AddMinioClient("minio", configureSettings: settings => settings.SecretKey = "minioAdmin");
AppHost extensions
In your AppHost project, install the CommunityToolkit.Aspire.Hosting.Minio library with NuGet:
dotnet add package CommunityToolkit.Aspire.Hosting.Minio
Then, in the Program.cs file of AppHost, register a MinIO host and consume the connection using the following methods:
var minio = builder.AddMinioContainer("minio");
var myService = builder.AddProject<Projects.MyService>()
.WithReference(minio);
The WithReference method configures a connection in the MyService project named minio.
In the Program.cs file of MyService, the MinIO connection can be consumed using:
builder.AddMinioClient("minio");
Then, in your service, inject IMinioClient and use it to interact with the MinIO or other S3 compatible API:
public class MyService(IMinioClient minioClient)
{
// ...
}
Additional documentation
- https://github.com/minio/minio-dotnet
- https://min.io/docs/minio/linux/developers/dotnet/minio-dotnet.html
Feedback & contributing
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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 is compatible. 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. |
-
net10.0
- Microsoft.Extensions.Configuration.Binder (>= 10.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.0)
- Minio (>= 6.0.5)
- OpenTelemetry.Extensions.Hosting (>= 1.12.0)
-
net8.0
- Microsoft.Extensions.Configuration.Binder (>= 10.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.0)
- Minio (>= 6.0.5)
- OpenTelemetry.Extensions.Hosting (>= 1.12.0)
-
net9.0
- Microsoft.Extensions.Configuration.Binder (>= 10.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.0)
- Minio (>= 6.0.5)
- OpenTelemetry.Extensions.Hosting (>= 1.12.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 13.0.0 | 334 | 11/25/2025 |
| 13.0.0-beta.462 | 112 | 11/25/2025 |
| 13.0.0-beta.456 | 127 | 11/23/2025 |
| 13.0.0-beta.454 | 76 | 11/23/2025 |
| 13.0.0-beta.453 | 97 | 11/22/2025 |
| 13.0.0-beta.450 | 100 | 11/22/2025 |
| 13.0.0-beta.448 | 100 | 11/22/2025 |
| 13.0.0-beta.444 | 338 | 11/17/2025 |
| 13.0.0-beta.443 | 353 | 11/17/2025 |
| 13.0.0-beta.440 | 101 | 11/15/2025 |
| 13.0.0-beta.439 | 335 | 11/12/2025 |
| 13.0.0-beta.438 | 217 | 11/12/2025 |
| 13.0.0-beta.436 | 217 | 11/12/2025 |
| 13.0.0-beta.435 | 218 | 11/11/2025 |
| 13.0.0-beta.433 | 140 | 11/10/2025 |
| 13.0.0-beta.432 | 145 | 11/10/2025 |
| 13.0.0-beta.431 | 136 | 11/6/2025 |
| 13.0.0-beta.430 | 132 | 11/6/2025 |
| 9.9.0 | 860 | 11/3/2025 |
| 9.9.0-beta.427 | 134 | 11/3/2025 |
| 9.8.1-beta.426 | 135 | 11/3/2025 |
| 9.8.1-beta.424 | 135 | 10/28/2025 |
| 9.8.1-beta.420 | 124 | 10/27/2025 |
| 9.8.1-beta.419 | 127 | 10/27/2025 |
| 9.8.1-beta.417 | 134 | 10/27/2025 |
| 9.8.1-beta.414 | 259 | 10/24/2025 |
| 9.8.1-beta.413 | 136 | 10/22/2025 |
| 9.8.1-beta.410 | 122 | 10/16/2025 |
| 9.8.1-beta.408 | 116 | 10/16/2025 |
| 9.8.1-beta.407 | 116 | 10/16/2025 |
| 9.8.1-beta.406 | 127 | 10/15/2025 |
| 9.8.0 | 1,515 | 9/26/2025 |
| 9.8.0-beta.405 | 122 | 10/15/2025 |
| 9.8.0-beta.404 | 124 | 10/13/2025 |
| 9.8.0-beta.402 | 130 | 9/29/2025 |
| 9.8.0-beta.401 | 120 | 9/29/2025 |
| 9.8.0-beta.399 | 123 | 9/26/2025 |
| 9.8.0-beta.398 | 129 | 9/25/2025 |
| 9.8.0-beta.397 | 128 | 9/25/2025 |
| 9.8.0-beta.395 | 130 | 9/24/2025 |
| 9.8.0-beta.394 | 133 | 9/23/2025 |
| 9.8.0-beta.393 | 129 | 9/23/2025 |
| 9.8.0-beta.392 | 135 | 9/23/2025 |
| 9.8.0-beta.389 | 254 | 9/18/2025 |
| 9.8.0-beta.388 | 261 | 9/16/2025 |
| 9.8.0-beta.386 | 208 | 9/15/2025 |
| 9.8.0-beta.385 | 206 | 9/15/2025 |
| 9.8.0-beta.384 | 54 | 9/13/2025 |
| 9.8.0-beta.376 | 134 | 9/8/2025 |
| 9.8.0-beta.375 | 67 | 9/6/2025 |
| 9.8.0-beta.373 | 137 | 9/5/2025 |
| 9.8.0-beta.372 | 140 | 9/4/2025 |
| 9.8.0-beta.370 | 129 | 9/2/2025 |
| 9.8.0-beta.364 | 126 | 9/1/2025 |
| 9.7.2 | 724 | 8/29/2025 |
| 9.7.2-beta.362 | 171 | 8/29/2025 |
| 9.7.2-beta.361 | 175 | 8/29/2025 |
| 9.7.2-beta.360 | 175 | 8/29/2025 |
| 9.7.2-beta.359 | 175 | 8/28/2025 |
| 9.7.2-beta.358 | 173 | 8/28/2025 |
| 9.7.2-beta.357 | 173 | 8/28/2025 |
| 9.7.1 | 229 | 8/27/2025 |
| 9.7.1-beta.355 | 177 | 8/27/2025 |
| 9.7.1-beta.354 | 178 | 8/27/2025 |
| 9.7.1-beta.353 | 177 | 8/27/2025 |
| 9.7.1-beta.352 | 174 | 8/27/2025 |
| 9.7.1-beta.351 | 175 | 8/27/2025 |
| 9.7.1-beta.348 | 139 | 8/14/2025 |
| 9.7.1-beta.344 | 146 | 8/10/2025 |
| 9.7.1-beta.343 | 206 | 8/8/2025 |
| 9.7.1-beta.342 | 209 | 8/7/2025 |
| 9.7.1-beta.341 | 209 | 8/6/2025 |
| 9.7.1-beta.340 | 191 | 8/5/2025 |
| 9.7.1-beta.339 | 191 | 8/5/2025 |
| 9.7.0 | 819 | 8/1/2025 |
| 9.7.0-beta.337 | 94 | 8/1/2025 |
| 9.7.0-beta.336 | 105 | 8/1/2025 |
| 9.7.0-beta.335 | 102 | 8/1/2025 |
| 9.7.0-beta.333 | 205 | 7/30/2025 |
| 9.5.1-beta.308 | 636 | 6/17/2025 |
| 9.5.1-beta.307 | 139 | 6/16/2025 |
| 9.5.1-beta.306 | 294 | 6/11/2025 |