MinApiLib.DependencyInjection
8.0.1
See the version list below for details.
dotnet add package MinApiLib.DependencyInjection --version 8.0.1
NuGet\Install-Package MinApiLib.DependencyInjection -Version 8.0.1
<PackageReference Include="MinApiLib.DependencyInjection" Version="8.0.1" />
paket add MinApiLib.DependencyInjection --version 8.0.1
#r "nuget: MinApiLib.DependencyInjection, 8.0.1"
// Install MinApiLib.DependencyInjection as a Cake Addin #addin nuget:?package=MinApiLib.DependencyInjection&version=8.0.1 // Install MinApiLib.DependencyInjection as a Cake Tool #tool nuget:?package=MinApiLib.DependencyInjection&version=8.0.1
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 | 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. |
-
net7.0
-
net8.0
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.