MinApiLib.DependencyInjection
9.0.0
dotnet add package MinApiLib.DependencyInjection --version 9.0.0
NuGet\Install-Package MinApiLib.DependencyInjection -Version 9.0.0
<PackageReference Include="MinApiLib.DependencyInjection" Version="9.0.0" />
paket add MinApiLib.DependencyInjection --version 9.0.0
#r "nuget: MinApiLib.DependencyInjection, 9.0.0"
// Install MinApiLib.DependencyInjection as a Cake Addin #addin nuget:?package=MinApiLib.DependencyInjection&version=9.0.0 // Install MinApiLib.DependencyInjection as a Cake Tool #tool nuget:?package=MinApiLib.DependencyInjection&version=9.0.0
MinApiLib.DependencyInjection
This package contains extensions to register services in the DI container using Attributes.
Installation
You can install this package using the NuGet package manager:
Install-Package MinApiLib.DependencyInjection
Or using the .NET CLI:
dotnet add package MinApiLib.DependencyInjection
Usage
To register a service, you can use the RegisterInIServiceCollection
attribute:
[RegisterInIServiceCollection]
public class UserService : IUserService
{
public string GetUserName() => "John Doe";
}
By default, the service is registered as transient and for the same type of the service, but you can change this behavior by adding the Type
and / or the ServiceLifetime
parameters:
[RegisterInIServiceCollection(typeof(IUserService), ServiceLifetime.Scoped)] )]
public class UserService : IUserService
{
public string GetUserName() => "John Doe";
}
To register all services in the assembly, you can use the AddAssembly
method:
builder.Services.AddAssembly();
By default, it wil register the classes in the current executing assembly, but you can change this behavior by adding the Assembly
parameter:
builder.Services.AddAssembly(typeof(SomeObject).Assembly);
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. |
-
net8.0
-
net9.0
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.