MrMeeseeks.DIE 3.1.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package MrMeeseeks.DIE --version 3.1.0                
NuGet\Install-Package MrMeeseeks.DIE -Version 3.1.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="MrMeeseeks.DIE" Version="3.1.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add MrMeeseeks.DIE --version 3.1.0                
#r "nuget: MrMeeseeks.DIE, 3.1.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.
// Install MrMeeseeks.DIE as a Cake Addin
#addin nuget:?package=MrMeeseeks.DIE&version=3.1.0

// Install MrMeeseeks.DIE as a Cake Tool
#tool nuget:?package=MrMeeseeks.DIE&version=3.1.0                

Welcome to MrMeeseeks.DIE

Gitter SOQnA

DIE is a secret agency organized by a bunch of Mr. Meeseekses. Its goal is to gather the information necessary to resolve your dependencies. Therefore, …

The acronym DIE stands for Dependency Injection DIE

Let the secret agency DIE compose these info in order to build factory methods which create instances of types of your choice.

Introduction

MrMeeseeks.DIE (in this documentation just referred to as DIE) is a compile-time dependency injection container for .Net. As such it generates factory methods which create instances that you need. Instead of relying on reflection the generated code uses the good old new operator to create instances like you would probably do yourself if you'd create a pure DI container.

Nuget

The easiest way to use DIE is to get it via nuget. Here is the package page:

https://www.nuget.org/packages/MrMeeseeks.DIE/

Either search for MrMeeseeks.DIE in the nuget manager of the IDE of your choice.

Or call the following PowerShell command:

Install-Package MrMeeseeks.DIE

Or manually insert the package reference into the target .csproj:

<PackageReference Include="MrMeeseeks.DIE" Version="[preferrably the current version]" />

Or manually add the package reference to the target .csproj:

<PackageReference Include="MrMeeseeks.DIE" Version="[preferrably the current version]" />

Characteristics Of DIE

  • Compile-Time Code Generation
    • Incomplete configurations will most likely result in a failed build
  • Unambiguousness
    • Container doesn't resolve ambiguity through assumptions
    • Configuration features to resolve ambiguities
  • Convenience
    • Default behaviors designed to reduce the amount of configuration required
    • Optional marker interfaces can be used for configurations
    • Mass configuration (e.g., register all implementations with a single configuration)
  • Flexibility
    • Allows opt-in configuration style
    • Allows opt-out configuration style
  • Feature richness
    • Scoping
    • Async support
    • Generics support
    • User-defined elements (factories, custom parameters, …)
    • Generated factories (Func<…>, Lazy<…>)
    • Decorators & Composites
    • Collection injections (IEnumerable<…>, IAsyncEnumerable<…>, IList<…> and many more)
  • Maximum transparency
    • Only your configuration code needs to know about DIE
    • The rest of your code base can remain oblivious

Documentation

Please visit https://die.mrmeeseeks.dev/ for a documentation.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  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 was computed.  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. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
3.3.1 292 6/23/2024
3.3.0 87 5/19/2024
3.2.3 128 5/9/2024
3.2.2 125 5/7/2024
3.2.1 127 4/30/2024
3.2.0 122 4/27/2024
3.1.3 111 3/17/2024
3.1.2 128 2/13/2024
3.1.1 126 2/11/2024
3.1.0 134 2/10/2024
3.0.2 529 10/26/2023
3.0.1 166 10/22/2023
3.0.0 147 10/14/2023
2.1.1 190 10/3/2023
2.1.0 193 9/24/2023
2.0.5 272 8/6/2023
2.0.4 276 7/15/2023
2.0.3 218 7/8/2023
2.0.2 200 6/22/2023
2.0.1 302 5/1/2023
2.0.0 104 4/30/2023
1.0.2 457 11/6/2022
1.0.1 553 10/23/2022
1.0.0 712 10/3/2022

-/-