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 56 9/14/2020
3.2.5-preview-588 60 9/14/2020
3.2.4 1,640 7/22/2020
3.2.4-preview-587 47 7/22/2020
3.2.4-preview-586 50 7/22/2020
3.2.4-preview-585 55 7/22/2020
3.2.2 463 7/21/2020
3.2.2-preview-584 69 7/21/2020
3.2.2-preview-583 74 7/21/2020
3.2.2-preview-582 93 7/18/2020
3.2.2-preview-581 98 7/18/2020
3.2.2-preview-580 106 7/17/2020
3.2.2-preview-579 124 7/17/2020
3.2.2-preview-578 132 7/17/2020
3.2.2-preview-577 47 7/17/2020
3.2.1 22,076 7/9/2020
3.2.1-preview-576 137 7/9/2020
3.2.1-preview-575 96 7/9/2020
3.2.1-preview-574 96 7/9/2020
3.2.1-preview-573 46 7/9/2020
3.2.1-preview-572 47 7/9/2020
3.2.1-preview-571 52 7/9/2020
3.2.1-preview-570 161 7/9/2020
3.2.1-preview-569 121 7/9/2020
3.2.1-preview-568 223 6/30/2020
3.2.1-preview-567 97 6/30/2020
3.2.0 888 6/29/2020
3.2.0-preview-565 125 6/29/2020
3.2.0-preview-564 52 6/29/2020
3.2.0-preview-563 53 6/29/2020
3.2.0-preview-562 51 6/29/2020
3.1.2 569 6/22/2020
3.1.2-preview-560 144 6/22/2020
3.1.2-preview-556 106 6/22/2020
3.1.2-preview-555 295 6/11/2020
3.1.2-preview-554 84 6/11/2020
3.1.2-preview-553 87 6/11/2020
3.1.1 228 6/11/2020
3.1.1-preview-552 66 6/11/2020
3.1.1-preview-551 87 6/10/2020
3.1.1-preview-550 68 6/10/2020
3.1.1-preview-549 78 6/9/2020
3.1.1-preview-548 69 6/9/2020
3.1.0 484 6/8/2020
3.1.0-preview-547 108 6/8/2020
3.1.0-preview-546 119 6/8/2020
3.1.0-preview-545 125 6/5/2020
3.1.0-preview-544 103 6/5/2020
3.1.0-preview-543 161 6/4/2020
3.1.0-preview-542 157 6/4/2020
3.1.0-preview-541 113 6/3/2020
3.1.0-preview-540 139 6/1/2020
3.1.0-preview-539 63 6/1/2020
3.1.0-preview-538 75 6/1/2020
3.1.0-preview-537 264 5/23/2020
3.1.0-preview-536 301 4/30/2020
3.1.0-preview-535 110 4/28/2020
3.1.0-preview-534 144 4/24/2020
3.1.0-preview-533 100 4/22/2020
3.1.0-preview-532 134 4/17/2020
3.1.0-preview-531 332 4/5/2020
3.1.0-preview-530 219 4/3/2020
3.1.0-preview-529 125 4/3/2020
3.1.0-preview-528 136 4/3/2020
3.1.0-preview-527 139 4/3/2020
3.1.0-preview-526 140 4/3/2020
3.1.0-preview-525 93 4/3/2020
2.9.0-preview-524 192 3/24/2020
2.9.0-preview-523 132 3/19/2020
2.9.0-preview-522 111 3/18/2020
2.9.0-preview-521 295 3/2/2020
2.9.0-preview-520 106 3/2/2020
2.9.0-preview-519 146 2/28/2020
2.9.0-preview-518 111 2/19/2020
2.9.0-preview-517 115 2/18/2020
2.9.0-preview-516 172 2/17/2020
2.9.0-preview-515 164 2/13/2020
2.9.0-preview-514 108 2/13/2020
2.8.9 3,794 1/15/2020
2.8.9-preview-513 151 1/15/2020
2.8.8 182 1/15/2020
2.8.7 487 1/3/2020
2.8.6 1,506 11/11/2019
2.8.5 4,605 10/3/2019
2.8.4 824 9/20/2019
2.8.3 1,137 9/12/2019
2.8.1 443 9/11/2019
2.7.8 1,494 6/25/2019
2.7.6 238 6/23/2019
2.7.5 1,706 6/10/2019
2.7.4 1,231 5/6/2019
2.7.3 3,525 3/7/2019
2.7.1 319 2/22/2019
2.6.8 444 1/31/2019
2.6.7 11,503 1/13/2019
2.6.5 630 12/27/2018
2.6.4 318 12/26/2018
2.6.3 78,049 10/24/2018
2.6.1 649 8/27/2018
2.6.0 7,658 6/15/2018
2.5.9 6,074 3/20/2018
2.5.8 1,877 2/8/2018
2.5.7 1,358 1/18/2018
2.5.6 9,018 11/24/2017
2.5.5 501 11/24/2017
2.5.4 626 8/27/2017
2.5.3 935 6/28/2017
2.5.2 739 6/9/2017
2.5.1 766 5/17/2017
2.4.8 1,430 5/15/2017
2.4.7 614 5/10/2017
2.4.6 517 5/10/2017
2.4.5 593 5/9/2017
2.4.3 829 5/3/2017
2.4.1 507 5/2/2017
2.3.2 551 3/24/2017
2.3.1 542 3/18/2017
2.3.0 510 3/17/2017
2.2.3 564 3/14/2017
2.2.2 540 3/11/2017
2.2.1 469 3/11/2017
2.2.0 524 3/2/2017
2.1.2 571 2/21/2017
2.1.1 597 2/18/2017
2.1.0 487 2/18/2017
2.0.33 528 2/14/2017
2.0.8 456 2/10/2017
2.0.6 498 2/9/2017
2.0.5 510 2/9/2017
1.0.160 540 1/26/2017
1.0.159 498 1/26/2017
1.0.142 485 1/18/2017
1.0.141 448 1/18/2017
1.0.140 529 1/17/2017
1.0.134 500 1/17/2017
1.0.133 456 1/17/2017
1.0.132 509 1/16/2017
1.0.130 462 1/16/2017
1.0.129 484 1/16/2017
1.0.128 488 1/16/2017
1.0.127 471 1/16/2017