Aiursoft.Scanner 8.0.2

dotnet add package Aiursoft.Scanner --version 8.0.2                
NuGet\Install-Package Aiursoft.Scanner -Version 8.0.2                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Aiursoft.Scanner" Version="8.0.2" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Aiursoft.Scanner --version 8.0.2                
#r "nuget: Aiursoft.Scanner, 8.0.2"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Aiursoft.Scanner as a Cake Addin
#addin nuget:?package=Aiursoft.Scanner&version=8.0.2

// Install Aiursoft.Scanner as a Cake Tool
#tool nuget:?package=Aiursoft.Scanner&version=8.0.2                

Aiursoft Scanner

MIT licensed Pipeline stat Test Coverage NuGet version (Aiursoft.Scanner) ManHours

An Automatic dependencies management system for ASP.NET Core and powers Aiursoft.

Why this project

The traditional way to add dependencies is:

service.AddScoped<MyScopedDependency>();

Which means that you have to manually inject all dependencies. When you have too many of them, it is possible to make a mistake.

How to use Aiursoft.Scanner

First, install Aiursoft.Scanner to your ASP.NET Core project from nuget.org:

dotnet add package Aiursoft.Scanner

Add the interface to your class like this:

using Aiursoft.Scanner.Abstractions;

public class MySingletonService : ISingletonDependency
{

}

public class MyScopedService : IScopedDependency
{

}

public class MyTransientService : ITransientDependency
{

}

And just call this in your StartUp.cs:

using Aiursoft.Scanner;

services.AddScannedDependencies();

That's all! All your dependencies are registered. Just use it like previous before:

public class MyController : Controller
{
    private readonly MyScopedService _service;
    public MyController(MyScopedService service)
    {
        _service = service;
    }
}

Advanced usage

When you want to register a dependency that implements an abstract, your previous way is:

public class MyClass : IAbstract
{

}
service.AddScoped<IAbstract, MyClass>();

That's fine. But now we want to register this automatically.

Add the dependency interface to your service like this:

public class MyClass : IAbstract, IScopedDependency
{

}

When you are registering all dependencies in your StartUp.cs, tell us that your project supports your abstract.

services.AddScannedDependencies(typeof(IAbstract));

And you can call it with multiple abstracts:

services.AddScannedDependencies(typeof(IAbstract1), typeof(IAbstract2), typeof(IAbstract3));

That's all! Enjoy!

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (6)

Showing the top 5 NuGet packages that depend on Aiursoft.Scanner:

Package Downloads
Aiursoft.Archon.SDK

Package Description

Aiursoft.Gateway.SDK

Package Description

Aiursoft.Developer.SDK

Package Description

Aiursoft.Wrapgate.SDK

Package Description

Aiursoft.Status.SDK

Package Description

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on Aiursoft.Scanner:

Repository Stars
AiursoftWeb/Infrastructures
Mirror of: https://gitlab.aiursoft.cn/aiursoft/infrastructures
Version Downloads Last updated
8.0.2 186 10/9/2024
8.0.1 198 3/12/2024
8.0.0 384 2/19/2024
7.0.2 132 1/30/2024
7.0.1 2,068 11/2/2023
7.0.0 1,250 9/5/2023
6.0.11 951 6/24/2023
6.0.10 598 6/7/2023
6.0.9 2,692 5/15/2023
6.0.8 489 5/11/2023
6.0.7 3,186 8/4/2022
6.0.6 1,721 7/6/2022
6.0.5 1,981 5/13/2022
6.0.0 2,225 3/27/2022
5.0.9 1,883 5/31/2021
5.0.8 1,851 5/23/2021
5.0.7 1,707 5/7/2021
5.0.6 1,713 4/14/2021
5.0.5 1,867 2/16/2021
5.0.4 2,205 1/29/2021
5.0.3 1,806 1/27/2021
5.0.2 1,904 12/9/2020
5.0.1 1,880 11/30/2020
5.0.0 1,743 11/14/2020
3.2.11 2,559 10/18/2020
3.2.10 2,688 10/3/2020
3.2.9 2,410 10/2/2020
3.2.8 2,570 9/10/2020
3.2.7 2,529 9/2/2020
3.2.6 2,690 8/12/2020
3.2.5 2,746 7/31/2020
3.2.4 2,769 7/3/2020
3.2.3 2,619 6/25/2020
3.2.2 2,558 6/18/2020
3.2.1 3,095 6/5/2020
3.2.0 2,884 6/4/2020
3.1.14 3,011 6/4/2020
3.1.13 2,313 5/25/2020
3.1.12 2,189 5/20/2020
3.1.11 2,151 5/18/2020
3.1.10 2,245 5/18/2020
3.1.9 2,172 5/17/2020
3.1.8 2,344 5/12/2020
3.1.7 2,346 5/2/2020
3.1.6 2,261 5/1/2020
3.1.5 2,248 4/21/2020
3.1.4 811 4/19/2020
3.1.3 1,068 4/15/2020
3.1.2.2 1,803 4/6/2020
3.1.2.1 1,627 3/19/2020
3.1.2 1,696 2/21/2020
3.1.1.8 1,302 2/17/2020
3.1.1.7 1,369 2/14/2020
3.1.1.6 1,133 1/28/2020
3.1.1.5 1,408 1/22/2020
3.1.1.4 1,050 1/21/2020
3.1.1.3 1,363 1/21/2020
3.1.1.2 1,857 1/20/2020