OLT.Extensions.DependencyInjection 9.0.0-beta-0007

Prefix Reserved
This is a prerelease version of OLT.Extensions.DependencyInjection.
dotnet add package OLT.Extensions.DependencyInjection --version 9.0.0-beta-0007                
NuGet\Install-Package OLT.Extensions.DependencyInjection -Version 9.0.0-beta-0007                
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.Extensions.DependencyInjection" Version="9.0.0-beta-0007" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add OLT.Extensions.DependencyInjection --version 9.0.0-beta-0007                
#r "nuget: OLT.Extensions.DependencyInjection, 9.0.0-beta-0007"                
#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 OLT.Extensions.DependencyInjection as a Cake Addin
#addin nuget:?package=OLT.Extensions.DependencyInjection&version=9.0.0-beta-0007&prerelease

// Install OLT.Extensions.DependencyInjection as a Cake Tool
#tool nuget:?package=OLT.Extensions.DependencyInjection&version=9.0.0-beta-0007&prerelease                

CI Quality Gate Status

IServiceCollection extensions using Scutor to build DI

Uses Scutor to scan all associated libraries looking for IOltInjectableScoped, IOltInjectableTransient, IOltInjectableSingleton

The scan for referenced assemblies uses an extension within the OLT.Extensions.General call OltSystemReflectionExtensions.GetAllReferencedAssemblies()

The default scan list automatically includes the assemblies below:

  • Assembly.GetEntryAssembly()
  • Assembly.GetExecutingAssembly()

Usage

Uses only Assembly.GetEntryAssembly() and Assembly.GetExecutingAssembly() as a basis to start scan

services.AddOltInjection();

Preferred Method

services.AddOltInjection(this.GetType().Assembly);  //Adds assembly to scan list

Specify a list of Assembies

var assembliesToScan = new List<Assembly>
{
    Assembly.GetEntryAssembly(),
    Assembly.GetExecutingAssembly()
};

assembliesToScan.Add(this.GetType().Assembly);
assembliesToScan.Add(Assembly.GetAssembly(typeof(MyClassHere)));

assembliesToScan.AddRange(Directory.GetFiles(AppDomain.CurrentDomain.BaseDirectory, "OLT.App.*.dll").Select(assembly => Assembly.Load(AssemblyName.GetAssemblyName(assembly))));
assembliesToScan.AddRange(Directory.GetFiles(AppDomain.CurrentDomain.BaseDirectory, "MyApp*.dll").Select(assembly => Assembly.Load(AssemblyName.GetAssemblyName(assembly))));

services.AddOltInjection(assembliesToScan);  //Adds list of assemblies to scan list
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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on OLT.Extensions.DependencyInjection:

Package Downloads
OLT.AspNetCore

OLT AspNetCore Library

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
9.0.0-beta-0007 64 12/9/2024
9.0.0-beta-0005 58 12/2/2024
8.4.0-beta-0010 86 11/7/2024
8.4.0-beta-0005 83 10/9/2024
8.3.1 584 8/26/2024
8.3.1-beta-0005 113 8/21/2024
8.3.0 152 8/9/2024
8.3.0-beta-0015 96 6/3/2024
8.3.0-beta-0010 119 5/13/2024
8.3.0-beta-0005 101 5/10/2024
8.2.1 480 4/22/2024
8.2.0 143 4/8/2024
8.1.0 150 3/10/2024
8.0.0 144 2/21/2024
8.0.0-beta-0030 442 2/19/2024
8.0.0-beta-0025 525 1/15/2024
8.0.0-beta-0020 115 1/15/2024
8.0.0-beta-0015 154 12/29/2023
8.0.0-beta-0010 210 12/20/2023
8.0.0-beta-0005 163 12/9/2023
7.2.0 364 12/8/2023
7.2.0-beta-0007 144 12/8/2023
7.2.0-beta-0005 118 12/8/2023
7.1.0 306 10/23/2023
7.1.0-beta-0015 140 7/28/2023
7.1.0-beta-0013 184 6/28/2023
7.1.0-beta-0011 150 6/25/2023
7.1.0-beta-0006 179 6/24/2023
7.1.0-beta-0003 156 6/24/2023
7.1.0-beta-0002 165 6/24/2023
7.1.0-beta-0001 173 5/31/2023
7.0.3 297 9/25/2023
7.0.2 220 7/27/2023
7.0.1 243 7/26/2023
7.0.0 548 4/20/2023
7.0.0-beta-0010 167 4/5/2023
7.0.0-beta-0008 171 2/26/2023
7.0.0-beta-0005 238 2/12/2023
7.0.0-beta-0003 184 1/29/2023
7.0.0-beta-0001 179 1/29/2023
6.8.0 773 2/11/2023
6.8.0-beta-0003 176 2/11/2023
6.8.0-beta-0001 183 1/29/2023
6.7.2 394 1/29/2023
6.7.1 1,068 12/20/2022
6.7.0 389 12/17/2022
6.6.0 493 12/2/2022
6.5.4 524 11/23/2022
6.5.3 469 11/23/2022
6.5.2 496 11/14/2022
6.5.1 720 10/19/2022
6.5.0 650 10/3/2022
6.4.3 565 9/28/2022
6.4.2 606 9/26/2022
6.4.1 648 9/18/2022
6.4.0 649 8/31/2022
6.3.5 611 8/12/2022
6.3.4 864 7/25/2022
6.3.3 703 7/22/2022
6.3.2 643 7/11/2022
6.3.1 703 7/2/2022
6.3.0 601 7/1/2022
6.2.1 802 6/15/2022
6.2.0 642 6/2/2022
6.1.1 782 5/12/2022
6.1.0 789 5/1/2022
6.0.6 772 4/6/2022
6.0.5 652 4/4/2022
6.0.4 653 4/2/2022
6.0.3 642 4/1/2022
6.0.2 646 3/31/2022
6.0.1 622 3/25/2022
6.0.0 703 3/24/2022
6.0.0-beta-0020 273 3/17/2022
6.0.0-beta-0015 254 3/15/2022
6.0.0-beta-0012 249 3/14/2022
6.0.0-beta-0006 245 3/6/2022
6.0.0-beta-0005 356 2/28/2022
6.0.0-beta-0004 280 2/28/2022
6.0.0-beta-0003 267 2/27/2022
6.0.0-beta-0001 265 2/25/2022
5.8.0 1,252 2/15/2022
5.7.0 1,258 1/26/2022
5.6.0 703 12/7/2021
5.5.0 991 12/4/2021
5.4.2 6,252 11/24/2021
5.4.1 809 11/17/2021
5.4.0 701 11/15/2021
5.3.3 749 11/9/2021
5.3.2 832 11/5/2021
5.3.1 903 10/28/2021
5.3.0 861 9/22/2021
5.2.6 824 9/16/2021
5.2.5 905 9/13/2021
5.2.4 849 9/3/2021
5.2.3 771 8/31/2021
5.2.2 841 8/27/2021
5.2.1 783 8/25/2021
5.2.0 842 8/15/2021
5.1.4 591 7/8/2021
5.1.0 584 5/4/2021