Stashbox by Peter Csajtai

<PackageReference Include="Stashbox" Version="3.1.2-preview-555" />

 Stashbox 3.1.2-preview-555

Stashbox is a lightweight, 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.1.2-preview-555</version>
    <authors>Peter Csajtai</authors>
    <owners>Peter Csajtai</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <license type="file">LICENSE</license>
    <licenseUrl>https://aka.ms/deprecateLicenseUrl</licenseUrl>
    <icon>icon.png</icon>
    <projectUrl>https://github.com/z4kn4fein/stashbox</projectUrl>
    <description>Stashbox is a lightweight, portable dependency injection framework for .NET based solutions.</description>
    <releaseNotes>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

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 2020</copyright>
    <tags>Stashbox di dependencyinjection ioc dotnet netstandard</tags>
    <repository type="git" url="https://github.com/z4kn4fein/stashbox" commit="4b5772868e3685dc63bad8e706dbca86a3601c1d" />
    <dependencies>
      <group targetFramework=".NETFramework4.0" />
      <group targetFramework=".NETFramework4.5" />
      <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="System.Reflection.Emit.Lightweight" version="4.3.0" exclude="Build,Analyzers" />
      </group>
    </dependencies>
  </metadata>
</package>