Stashbox 3.2.4

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

There is a newer prerelease version of this package available.
See the version list below for details.
Install-Package Stashbox -Version 3.2.4
dotnet add package Stashbox --version 3.2.4
<PackageReference Include="Stashbox" Version="3.2.4" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Stashbox --version 3.2.4
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

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 >=net461, >=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

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<string, object>`.
- `IserviceRegistration` interface has been removed, only it's implementation remained.
- Removed the legacy container extension functionality.
- Removed the support of PCL v259.

NuGet packages (16)

Showing the top 5 NuGet packages that depend on Stashbox:

Package Downloads
Stashbox.Extensions.Dependencyinjection
A Microsoft.Extensions.DependencyInjection extension, which allows Stashbox to be configured as the default service provider.
Stashbox.Moq
Moq auto mocking integration for Stashbox.
Stashbox.Web.Mvc
ASP.NET MVC integration for Stashbox.
Stashbox.Web.WebApi
ASP.NET Web API integration for Stashbox.
Stashbox.NSubstitute
NSubstitute auto mocking integration for Stashbox.

GitHub repositories (2)

Showing the top 2 popular GitHub repositories that depend on Stashbox:

Repository Stars
structuremap/structuremap
A Dependency Injection/Inversion of Control tool for .NET
danielpalme/IocPerformance
Performance comparison of .NET IoC containers

Version History

Version Downloads Last updated
3.2.5-preview-589 42 9/14/2020
3.2.5-preview-588 47 9/14/2020
3.2.4 1,587 7/22/2020
3.2.4-preview-587 35 7/22/2020
3.2.4-preview-586 38 7/22/2020
3.2.4-preview-585 43 7/22/2020
3.2.2 412 7/21/2020
3.2.2-preview-584 57 7/21/2020
3.2.2-preview-583 62 7/21/2020
3.2.2-preview-582 81 7/18/2020
3.2.2-preview-581 86 7/18/2020
3.2.2-preview-580 94 7/17/2020
3.2.2-preview-579 112 7/17/2020
3.2.2-preview-578 120 7/17/2020
3.2.2-preview-577 35 7/17/2020
3.2.1 20,256 7/9/2020
3.2.1-preview-576 125 7/9/2020
3.2.1-preview-575 84 7/9/2020
3.2.1-preview-574 84 7/9/2020
3.2.1-preview-573 34 7/9/2020
3.2.1-preview-572 35 7/9/2020
3.2.1-preview-571 40 7/9/2020
3.2.1-preview-570 149 7/9/2020
3.2.1-preview-569 109 7/9/2020
3.2.1-preview-568 211 6/30/2020
3.2.1-preview-567 85 6/30/2020
3.2.0 855 6/29/2020
3.2.0-preview-565 113 6/29/2020
3.2.0-preview-564 40 6/29/2020
3.2.0-preview-563 41 6/29/2020
3.2.0-preview-562 39 6/29/2020
3.1.2 556 6/22/2020
3.1.2-preview-560 132 6/22/2020
3.1.2-preview-556 94 6/22/2020
3.1.2-preview-555 283 6/11/2020
3.1.2-preview-554 72 6/11/2020
3.1.2-preview-553 75 6/11/2020
3.1.1 213 6/11/2020
3.1.1-preview-552 54 6/11/2020
3.1.1-preview-551 75 6/10/2020
3.1.1-preview-550 56 6/10/2020
3.1.1-preview-549 66 6/9/2020
3.1.1-preview-548 57 6/9/2020
3.1.0 472 6/8/2020
3.1.0-preview-547 96 6/8/2020
3.1.0-preview-546 107 6/8/2020
3.1.0-preview-545 113 6/5/2020
3.1.0-preview-544 91 6/5/2020
3.1.0-preview-543 149 6/4/2020
3.1.0-preview-542 145 6/4/2020
3.1.0-preview-541 101 6/3/2020
3.1.0-preview-540 127 6/1/2020
3.1.0-preview-539 51 6/1/2020
3.1.0-preview-538 63 6/1/2020
3.1.0-preview-537 252 5/23/2020
3.1.0-preview-536 289 4/30/2020
3.1.0-preview-535 98 4/28/2020
3.1.0-preview-534 132 4/24/2020
3.1.0-preview-533 88 4/22/2020
3.1.0-preview-532 122 4/17/2020
3.1.0-preview-531 320 4/5/2020
3.1.0-preview-530 207 4/3/2020
3.1.0-preview-529 113 4/3/2020
3.1.0-preview-528 124 4/3/2020
3.1.0-preview-527 127 4/3/2020
3.1.0-preview-526 128 4/3/2020
3.1.0-preview-525 81 4/3/2020
2.9.0-preview-524 180 3/24/2020
2.9.0-preview-523 120 3/19/2020
2.9.0-preview-522 99 3/18/2020
2.9.0-preview-521 283 3/2/2020
2.9.0-preview-520 93 3/2/2020
2.9.0-preview-519 134 2/28/2020
2.9.0-preview-518 99 2/19/2020
2.9.0-preview-517 102 2/18/2020
2.9.0-preview-516 160 2/17/2020
2.9.0-preview-515 151 2/13/2020
2.9.0-preview-514 96 2/13/2020
2.8.9 3,764 1/15/2020
2.8.9-preview-513 138 1/15/2020
2.8.8 170 1/15/2020
2.8.7 471 1/3/2020
2.8.6 1,493 11/11/2019
2.8.5 4,577 10/3/2019
2.8.4 811 9/20/2019
2.8.3 1,125 9/12/2019
2.8.1 431 9/11/2019
2.7.8 1,482 6/25/2019
2.7.6 226 6/23/2019
2.7.5 1,693 6/10/2019
2.7.4 1,217 5/6/2019
2.7.3 3,496 3/7/2019
2.7.1 307 2/22/2019
2.6.8 431 1/31/2019
2.6.7 11,480 1/13/2019
2.6.5 618 12/27/2018
2.6.4 305 12/26/2018
2.6.3 77,948 10/24/2018
2.6.1 625 8/27/2018
2.6.0 7,644 6/15/2018
2.5.9 6,060 3/20/2018
2.5.8 1,863 2/8/2018
2.5.7 1,344 1/18/2018
2.5.6 9,004 11/24/2017
2.5.5 486 11/24/2017
2.5.4 612 8/27/2017
2.5.3 920 6/28/2017
2.5.2 724 6/9/2017
2.5.1 752 5/17/2017
2.4.8 1,416 5/15/2017
2.4.7 598 5/10/2017
2.4.6 503 5/10/2017
2.4.5 578 5/9/2017
2.4.3 815 5/3/2017
2.4.1 493 5/2/2017
2.3.2 537 3/24/2017
2.3.1 528 3/18/2017
2.3.0 496 3/17/2017
2.2.3 550 3/14/2017
2.2.2 526 3/11/2017
2.2.1 454 3/11/2017
2.2.0 512 3/2/2017
2.1.2 557 2/21/2017
2.1.1 581 2/18/2017
2.1.0 473 2/18/2017
2.0.33 513 2/14/2017
2.0.8 442 2/10/2017
2.0.6 482 2/9/2017
2.0.5 496 2/9/2017
1.0.160 526 1/26/2017
1.0.159 484 1/26/2017
1.0.142 471 1/18/2017
1.0.141 434 1/18/2017
1.0.140 515 1/17/2017
1.0.134 486 1/17/2017
1.0.133 442 1/17/2017
1.0.132 495 1/16/2017
1.0.130 448 1/16/2017
1.0.129 470 1/16/2017
1.0.128 474 1/16/2017
1.0.127 457 1/16/2017