OLT.Core.DependencyInjection.Abstractions 9.0.0

Prefix Reserved
dotnet add package OLT.Core.DependencyInjection.Abstractions --version 9.0.0
                    
NuGet\Install-Package OLT.Core.DependencyInjection.Abstractions -Version 9.0.0
                    
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="OLT.Core.DependencyInjection.Abstractions" Version="9.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="OLT.Core.DependencyInjection.Abstractions" Version="9.0.0" />
                    
Directory.Packages.props
<PackageReference Include="OLT.Core.DependencyInjection.Abstractions" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add OLT.Core.DependencyInjection.Abstractions --version 9.0.0
                    
#r "nuget: OLT.Core.DependencyInjection.Abstractions, 9.0.0"
                    
#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.
#:package OLT.Core.DependencyInjection.Abstractions@9.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=OLT.Core.DependencyInjection.Abstractions&version=9.0.0
                    
Install as a Cake Addin
#tool nuget:?package=OLT.Core.DependencyInjection.Abstractions&version=9.0.0
                    
Install as a Cake Tool

CI Quality Gate Status

Base OLT Core Abtractions

OltDisposable

IDisposable abstract class wrapper

Methods

AddServicesFromAssemblies(IServiceCollection services, Action<OltScrutorScanBuilder> action)

Scans for services implementing IOltInjectableScoped, IOltInjectableSingleton, and IOltInjectableTransient interfaces and registers them with the provided IServiceCollection.

Parameters
  • services (IServiceCollection): The service collection to add the services to.
  • action (Action<OltScrutorScanBuilder>): An action to configure the OltScrutorScanBuilder.
Returns
  • IServiceCollection: The service collection with the added services.

AddServicesFromAssemblies<TBuilder>(TBuilder builder, Action<OltScrutorScanBuilder> action) where TBuilder : IOltHostBuilder

Scans assemblies and registers services with the specified IOltHostBuilder.

Parameters
  • builder (TBuilder): The host builder to add the services to.
  • action (Action<OltScrutorScanBuilder>): An action to configure the OltScrutorScanBuilder.
Returns
  • TBuilder: The host builder with the added services.

Usage

To use the OltDependencyInjectionExtensions class, you need to call the AddServicesFromAssemblies method on your IServiceCollection or IOltHostBuilder instance, passing in an action to configure the OltScrutorScanBuilder.

Example


using Microsoft.Extensions.DependencyInjection; 
using OLT.Core;

public class Startup 
{ 
    public void ConfigureServices(IServiceCollection services) 
    { 
        services.AddServicesFromAssemblies(scan => scan.IncludeAssembly(typeof(SomeTypeInYourAssembly).Assembly)); 
    } 
}

In this example, the AddServicesFromAssemblies method is used to scan and register services from the specified assembly.

Remarks

  • The OltDependencyInjectionExtensions class relies on the Scutor library to perform the scanning and registration of services.
  • The OltScrutorScanBuilder class is used to configure the scanning process, including specifying which assemblies to scan.

For more information on the Scutor library, refer to the Scutor documentation.

Example Using OltAssemblyScanBuilder

using OLT.Core;

var assemblies = new OltAssemblyScanBuilder()
    .IncludeFilter("OLT.", "MyApp.")
    .IncludeAssembly(typeof(LocalServiceCollectionExtenstions).Assembly, typeof(AnotherClassName).Assembly, typeof(IAppInterfaceHere).Assembly)
    .ExcludeMicrosoft()
    .ExcludeAutomapper()
    .DeepScan()
    .Build();

services.AddServicesFromAssemblies(builder => builder.IncludeAssemblies(assemblies))
        .AddAppCors()
        .AddScoped<IAppIdentity, AppIdentity>()
        .AddScoped<IOltIdentity>(x => x.GetRequiredService<IAppIdentity>())
        .AddScoped<IOltDbAuditUser>(x => x.GetRequiredService<IAppIdentity>())
        .AddHttpContextAccessor();

For more information on the OltAssemblyScanBuilder library, refer to the Documentation.

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

NuGet packages (7)

Showing the top 5 NuGet packages that depend on OLT.Core.DependencyInjection.Abstractions:

Package Downloads
OLT.Extensions.DependencyInjection

Add Exenestions to service collection for OLT Default injection

OLT.Extensions.Caching.Shared

Abstract Caching Library

OLT.Core.Common.Abstractions

Package Description

OLT.Core.CommandBus.Abstractions

Command Bus Abstractions for CQRS architecture

OLT.Core.Service.Abstractions

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
9.0.0 52 8/25/2025
9.0.0-beta-0013 214 1/30/2025
9.0.0-beta-0011 138 1/30/2025
9.0.0-beta-0009 139 12/30/2024
9.0.0-beta-0007 133 12/9/2024
9.0.0-beta-0005 116 12/2/2024
8.4.0-beta-0010 318 11/7/2024
8.4.0-beta-0005 360 10/9/2024