DryIoc.Internal 4.1.0-preview-03

Prefix Reserved
This is a prerelease version of DryIoc.Internal.
There is a newer version of this package available.
See the version list below for details.

Requires NuGet 3.3.0 or higher.

dotnet add package DryIoc.Internal --version 4.1.0-preview-03                
NuGet\Install-Package DryIoc.Internal -Version 4.1.0-preview-03                
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="DryIoc.Internal" Version="4.1.0-preview-03" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DryIoc.Internal --version 4.1.0-preview-03                
#r "nuget: DryIoc.Internal, 4.1.0-preview-03"                
#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 DryIoc.Internal as a Cake Addin
#addin nuget:?package=DryIoc.Internal&version=4.1.0-preview-03&prerelease

// Install DryIoc.Internal as a Cake Tool
#tool nuget:?package=DryIoc.Internal&version=4.1.0-preview-03&prerelease                

DryIoc is fast, small, full-featured IoC Container for .NET

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 netcoreapp1.0 was computed.  netcoreapp1.1 was computed.  netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard1.0 is compatible.  netstandard1.1 was computed.  netstandard1.2 was computed.  netstandard1.3 is compatible.  netstandard1.4 was computed.  netstandard1.5 was computed.  netstandard1.6 was computed.  netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net45 was computed.  net451 was computed.  net452 was computed.  net46 was computed.  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 tizen30 was computed.  tizen40 was computed.  tizen60 was computed. 
Universal Windows Platform uap was computed.  uap10.0 was computed. 
Windows Phone wp8 was computed.  wp81 was computed.  wpa81 was computed. 
Windows Store netcore was computed.  netcore45 was computed.  netcore451 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.

This package has no dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on DryIoc.Internal:

Package Downloads
CodeMonkeys.DependencyInjection.DryIoC

Addition to the CodeMonkeys.DependencyInjection package which integrates DryIoC as the background implementation.

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on DryIoc.Internal:

Repository Stars
OmniSharp/csharp-language-server-protocol
Language Server Protocol in C#
Version Downloads Last updated
6.0.0-preview-08 87 10/27/2024
6.0.0-preview-07 116 3/17/2024
5.4.3 2,254 11/12/2023
5.4.2 344 10/17/2023
5.4.1 383 6/10/2023
5.4.0 256 5/1/2023
5.3.4 385 3/13/2023
5.3.3 309 2/16/2023
5.3.2 296 2/9/2023
5.3.1 698 11/28/2022
5.3.0 598 11/10/2022
5.2.2 932 8/23/2022
5.2.1 440 8/9/2022
5.2.0 499 8/3/2022
5.1.0 564 5/20/2022
5.0.2 520 5/10/2022
5.0.1 2,313 4/22/2022
5.0.0 551 4/13/2022
4.8.8 799 3/16/2022
4.8.7 554 2/27/2022
4.8.6 705 1/7/2022
4.8.5 376 12/30/2021
4.8.4 551 10/31/2021
4.8.3 485 10/20/2021
4.8.2 589 10/9/2021
4.8.1 1,522 7/3/2021
4.8.0 469 6/4/2021
4.7.8 450 5/27/2021
4.7.7 471 5/10/2021
4.7.6 2,444 4/21/2021
4.7.5 560 4/4/2021
4.7.4 509 2/26/2021
4.7.3 1,985 2/9/2021
4.7.2 790 1/16/2021
4.7.1 475 1/15/2021
4.7.0 507 1/5/2021
4.6.0 1,282 12/10/2020
4.5.2 667 12/3/2020
4.5.1 2,304 10/28/2020
4.5.0 783 10/12/2020
4.4.1 1,183 9/9/2020
4.4.0 603 9/4/2020
4.3.4 617 9/1/2020
4.3.3 819 8/27/2020
4.3.2 1,096 8/15/2020
4.3.1 1,011 8/7/2020
4.3.0 1,177 8/3/2020
4.2.5 683 7/20/2020
4.2.4 616 7/14/2020
4.2.3 661 7/4/2020
4.2.2 612 7/2/2020
4.2.1 645 6/8/2020
4.2.0 1,147 5/18/2020
4.1.4 644 4/3/2020
4.1.3 663 3/27/2020
4.1.2 602 3/12/2020
4.1.1 634 3/5/2020
4.1.0 9,723 1/20/2020
4.1.0-preview-03 423 10/3/2019
4.1.0-preview-02 451 8/25/2019
4.1.0-preview-01 430 8/21/2019
4.0.7 4,848 9/4/2019
4.0.6 699 8/29/2019
4.0.5 4,911 6/8/2019
4.0.5-preview-01 569 6/7/2019
4.0.4 7,839 5/1/2019
4.0.3 771 4/10/2019
4.0.2 2,539 3/30/2019
4.0.1 735 3/28/2019
4.0.0 767 3/4/2019
3.0.2 1,778 7/11/2018
3.0.1 1,182 7/7/2018
3.0.0 1,205 6/24/2018
3.0.0-preview-12 789 6/6/2018
3.0.0-preview-11 971 3/17/2018
3.0.0-preview-10 950 3/13/2018
3.0.0-preview-09 838 2/21/2018
3.0.0-preview-08 840 2/12/2018
3.0.0-preview-07 839 2/9/2018
3.0.0-preview-06 888 2/8/2018
3.0.0-preview-05 915 2/5/2018
3.0.0-preview-04 916 2/1/2018
3.0.0-preview-03 850 12/3/2017
3.0.0-preview-02 857 11/14/2017
3.0.0-preview-01 859 10/1/2017
2.12.10 1,153 4/11/2018
2.12.9 1,321 4/7/2018
2.12.8 1,215 3/13/2018
2.12.7 1,209 1/19/2018
2.12.6 1,152 12/21/2017
2.12.5 1,031 10/30/2017
2.12.4 1,034 10/17/2017
2.12.3 1,081 10/2/2017
2.12.2 1,034 9/17/2017
2.12.1 1,051 9/9/2017
2.12.0 1,059 9/1/2017
2.12.0-preview-01 909 8/29/2017
2.11.6 1,049 7/18/2017
2.11.5 1,115 7/12/2017
2.11.4 1,130 6/28/2017
2.11.3 1,106 6/1/2017
2.11.2 1,100 6/1/2017
2.11.1 1,101 5/31/2017
2.11.0 1,134 5/30/2017
2.11.0-preview-02 884 3/15/2017
2.11.0-preview-01 887 3/10/2017
2.10.7 1,177 5/3/2017
2.10.6 1,153 4/20/2017
2.10.5 1,107 4/4/2017
2.10.4 1,107 3/28/2017
2.10.3 1,092 3/25/2017
2.10.2 1,125 3/14/2017
2.10.1 1,114 2/18/2017
2.10.0 1,121 2/1/2017
2.9.7 1,160 1/12/2017
2.9.6 1,119 12/30/2016
2.9.5 1,151 12/26/2016
2.9.4 1,162 12/10/2016
2.9.3 1,144 12/8/2016
2.9.2 1,160 12/3/2016
2.9.1 1,123 11/19/2016
2.9.0 1,159 11/17/2016
2.8.5 1,317 11/2/2016
2.8.4 1,246 10/28/2016

## v4.1.0

### Briefly:

- Better memory and performance for the real-world applications - big object graphs and the Unit-of-work scenarios
- FEC V3.0 optimized for nested lambda invocation (scoped services in DryIoc) and consuming less memory
- Rules.WithUseInterpretation to work iOS
- Streamlined ambient ScopeContext scope disposal, ensuring more predictable AsyncExecutionFlowScopeContext, ThreadScopeContext behavior

### Bug fixes:

- 151 Resolve problem with ThreadScopeContext in version 4.0.*

## v4.0.5 Release notes

- fixed: #133 Validate method call hangs
- fixed: #134 with finding is th property is static in VB

## v4.0.4 Release notes

- fixed: #116: DryIoc Resolve with decorators goes wrong for parallel execution
- fixed: #119: v4.0.3 packages were targeting only .NET 4.5 and .NET Standard 2.0
- fixed: #120: V4.0.3 double dryioc break the build
- fixed: #121: FastExpressionCompiler.cs and Expression.cs code comment out in .NetFramework 4.7
- fixed: #124: Stackoverflow exception 4.0.3

## v4.0.3 Release notes

- fixed: #109: Cannot inject a struct using a Func wrapper
- fixed: #114: Resolve Action<T>

## v4.0.2 Release notes

- fixed: #100: ResolveMany with Meta does NOT work but collection with Meta does work

## v4.0.1 Release notes

- added: #95: Serializable ContainerException for supported targets
- fixed: #97: Resolving last registration from multiple default services bug
- fixed: #89: DryIoC.CommonServiceLocator.dll package out-of-date link

## v4.0.0 Release notes

### Highlights

- DryIoc.dll and all extensions are strongly-signed.
- Greatly improved performance and decreased memory allocations for bootstrapping and first-time resolution, as well as for the rest of operations. [The results](https://github.com/dadhi/DryIoc/issues/26#issuecomment-466460255) were measured on realistic mid-sized object graph with ~40 dependencies and mixed registration types.
- `IResolver` is directly implementing (`IServiceProvider`)[https://docs.microsoft.com/en-us/dotnet/api/system.iserviceprovider?view=netframework-4.7.2] for supported platforms
- `UseInstance` is split into `RegisterInstance` and `Use` methods #78
- The docs now are generated from `.cs` files in _DryIoc.Docs_ project with up-to-date runnable examples using [CsToMd](https://github.com/dadhi/Cstomd) project.

### Features

- added: #4 Rule for Func and Lazy to be resolved even without requested service registered
- added: #8 Parity of registration methods between IContainer and IRegistrator (RegisterMapping and RegisterPlaceholder are available in IRegistrator)
- added: #9 RegisterMany should indicate if no registration was made
- added: #11 Resolution root bound dependency expression de-duplication
- added: #17 Rules.DefaultRegistrationServiceKey enhancement
- added: #20 Enhance error message with current container Rules info
- added: #32 Integrate MediatR like middleware directly to DryIoc #32
- added: #39 For troubleshooting purposes add ability to opt-out FastExpressionCompiler
- Added: #45 Consider expression interpretation to speed-up first time resolution
- added: #78 Split UseInstance two roles into separate RegisterInstance and Use
- added: DryIoc IResolver now directly implements IServiceProvider - no need for BuildServiceProvider anymore
- added: DryIoc.Rules.Rules.MicrosoftDependencyInjectionRules - the set of rules for MS.DI available directly in DryIoc
- added: FactoryInfo.Of(MemberInfo factoryMember, object factoryInstance)
- added: Explicit Factory.RegistrationOrder and adapted its usage for open-generics
- added: IRegistrator.GetRegisteredFactories
- added: FactoryType to Registrator.RegisterMapping
- added: AsyncExecutionFlowScopeContext.Default member
- added: Support for FEC v2.0

### Fixes

- fixed: #6 Open generic singleton service registration that satisfies multiple interfaces
- fixed: #7 Context-based injection
- fixed: #16 AutoConcreteTypeResolution should not consider a primitive type
- fixed: #25 Decorator with serviceKey throws exception which gives invalid advice on how to fix the issue for the most common reason to use the servicekey
- fixed: #26 Speed Optimization for short living applications
- fixed: #27 DryIoc cold start performance
- fixed: #28 FastExpressionCompiler is not used in Net Standard 1.3, 2.0 packages and not used in .Net Core
- fixed: #29 Resolve caches object[] args values
- fixed: #33 Memory leak with ResolveManyBehavior.AzLazyEnumerable?
- fixed: #41 ErrorCode: RegisteredFactoryMethodResultTypesIsNotAssignableToImplementationType
- fixed: #46 Operation is not supported on this platform exception on Xamarin iOS
- fixed: #61 Rules.SelectLastRegisteredFactory() does not account for OpenGenerics
- fixed: #63 Func wrapper resolving #63
- fixed: #75 Scoped call to Resolve() with args seems to leak memory
- fixed: BB-593 Add auto-generated tag to PCL FEC
- fixed: BB-594 Conflicting type is not working in .NET Core 2.1
- fixed: BB-596 The problem was in non-public service type- fixed: RegisterMapping for open-generic service type
- fixed: Using facadeKey in CreateFacade