Stashbox by Peter Csajtai

<PackageReference Include="Stashbox" Version="3.5.0-preview-615" />

 Stashbox 3.5.0-preview-615

Stashbox is a lightweight, fast and portable dependency injection framework for .NET based solutions.

<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
  <metadata>
    <id>Stashbox</id>
    <version>3.5.0-preview-615</version>
    <authors>Peter Csajtai</authors>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <license type="expression">MIT</license>
    <licenseUrl>https://licenses.nuget.org/MIT</licenseUrl>
    <icon>icon.png</icon>
    <projectUrl>https://github.com/z4kn4fein/stashbox</projectUrl>
    <description>Stashbox is a lightweight, fast and portable dependency injection framework for .NET based solutions.</description>
    <releaseNotes>v3.5.0:
- Assembly scanning: 
    - Added option to filter service types and disable self registration.
    - Recognize generic definitions.
- Added support to covariant/contravariant generic type resolution.
- Bugfix: Services with named scope lifetime were not choosed right from the registration repo.
      
v3.4.0:
- Added the core components of multitenant functionality.
- Throw `ObjectDisposedException` when the container or a scope is used after their disposal.

v3.3.0:
- Added the option to rebuild singletons in child container with dependencies overridden in it.
- Fix: Singleton instances were built when the Validate() was called, now just the expression is generated for them.

v3.2.9:
- Added the option to replace a registration only if an existing one is registered with the same type or name.

v3.2.8:
- Switch to license expression in nuget package.

v3.2.7:
- Minor bugfixes.

v3.2.6:
- The Validate() method now throws an AggregateException containing all the underlying exceptions.
- Minor bugfixes.

v3.2.5:
- Minor bugfixes.

v3.2.4:
- Added the `.WhenDecoratedServiceHas()` and `.WhenDecoratedServiceIs()` decorator configuration options.

v3.2.2:
- Added support of conditional and lifetime managed decorators #93      

v3.2.1:
- Fix: Factory resolution didn't use the built-in expression compiler.

v3.2.0:
- Added IAsyncDisposable support #90
  - It works on &gt;=net461, &gt;=netstandard2.0 frameworks. 
  - On net461 and netstandard2.0 the usage of IAsyncDisposable interface requires the
    Microsoft.Bcl.AsyncInterfaces package, on netstandard2.1 it's part of the framework.
- Fix: resolving with custom parameter values #91
      
v3.1.2:
- Fix: IdentityServer not compatible #88
- Fix: Call interception #89
      
v3.1.1:
- Fix: String constant is not handled well by the built-in compiler #86
- Fix: Registration behaviour doesn't respect replacing #87

v3.1.0:
- Fix: Nested named resolution could cause stack overflow #74
- Fix: Improve support for Assemblies loaded into Collectible AssemblyLoadContexts #73
- Fix: Unknown type resolution does not work recursively #77
- Fix: Exception when building expressions #76
- Fix: Bad performance #79
- Fix: Expected override behaviour not working with scopes #80

v3.1.0 Breaking changes:
- `WithUniqueRegistrationIdentifiers()` option has been removed, `WithRegistrationBehavior()` has been added instead.
- Circular dependency tracking is enabled now by default, for runtime tracking the renamed `WithRuntimeCircularDependencyTracking()` option can be used.
- `WithMemberInjectionWithoutAnnotation()` container configuration option has been renamed to `WithAutoMemberInjection()`.
- `SetImplementationType()` option has been added to the registration configuration used when unknown type detected.
- Removed the `GetScopedInstace()` method from the `IResolutionScope`, they are treated as expression overrides now and consumed automatically by the container.
- Lifetimes became stateless and their API has been changed, see the docs for more info (https://github.com/z4kn4fein/stashbox/wiki/Lifetimes).
- Lifetime validation has been added:
  - Tracking dependencies that has shorter life-span than their direct or indirect parent's.
  - Tracking scoped services resolved from root.
  - The container throws a LifetimeValidationFailedException when the validation fails.
- `PerRequestLifetime` has been renamed to `PerScopedRequestLifetime`.
- `RegisterInstanceAs()` has been removed, every functionality is available on the `RegisterInstance()` methods.
- Service/Implementation type map validation has been added to the non-generic registration methods.
- `InjectionParameter` has been replaced with `KeyValuePair&lt;string, object&gt;`.
- `IserviceRegistration` interface has been removed, only it's implementation remained.
- Removed the legacy container extension functionality.
- Removed the support of PCL v259.</releaseNotes>
    <copyright>Copyright © Peter Csajtai 2021</copyright>
    <tags>Stashbox di dependencyinjection ioc dotnet netstandard</tags>
    <repository type="git" url="https://github.com/z4kn4fein/stashbox" commit="8d39e587bb1ded1e9820aa377cd80f52ebe6cdc2" />
    <dependencies>
      <group targetFramework=".NETFramework4.0" />
      <group targetFramework=".NETFramework4.5" />
      <group targetFramework=".NETFramework4.6.1">
        <dependency id="Microsoft.Bcl.AsyncInterfaces" version="1.0.0" exclude="Build,Analyzers" />
      </group>
      <group targetFramework=".NETStandard1.0">
        <dependency id="NETStandard.Library" version="1.6.1" exclude="Build,Analyzers" />
      </group>
      <group targetFramework=".NETStandard1.3">
        <dependency id="NETStandard.Library" version="1.6.1" exclude="Build,Analyzers" />
        <dependency id="System.Reflection.Emit.Lightweight" version="4.3.0" exclude="Build,Analyzers" />
      </group>
      <group targetFramework=".NETStandard2.0">
        <dependency id="Microsoft.Bcl.AsyncInterfaces" version="1.0.0" exclude="Build,Analyzers" />
        <dependency id="System.Reflection.Emit.Lightweight" version="4.3.0" exclude="Build,Analyzers" />
      </group>
      <group targetFramework=".NETStandard2.1" />
    </dependencies>
  </metadata>
</package>