DryIoc.Internal 4.1.0-preview-02

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-02
                    
NuGet\Install-Package DryIoc.Internal -Version 4.1.0-preview-02
                    
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-02" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="DryIoc.Internal" Version="4.1.0-preview-02" />
                    
Directory.Packages.props
<PackageReference Include="DryIoc.Internal" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add DryIoc.Internal --version 4.1.0-preview-02
                    
#r "nuget: DryIoc.Internal, 4.1.0-preview-02"
                    
#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.
#:package DryIoc.Internal@4.1.0-preview-02
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=DryIoc.Internal&version=4.1.0-preview-02&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=DryIoc.Internal&version=4.1.0-preview-02&prerelease
                    
Install as a Cake Tool

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.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.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 211 10/27/2024
6.0.0-preview-07 207 3/17/2024
5.4.3 5,006 11/12/2023
5.4.2 438 10/17/2023
5.4.1 517 6/10/2023
5.4.0 398 5/1/2023
5.3.4 529 3/13/2023
5.3.3 442 2/16/2023
5.3.2 431 2/9/2023
5.3.1 853 11/28/2022
5.3.0 738 11/10/2022
5.2.2 1,076 8/23/2022
5.2.1 590 8/9/2022
5.2.0 654 8/3/2022
5.1.0 682 5/20/2022
5.0.2 648 5/10/2022
5.0.1 2,485 4/22/2022
5.0.0 679 4/13/2022
4.8.8 916 3/16/2022
4.8.7 686 2/27/2022
4.8.6 827 1/7/2022
4.8.5 490 12/30/2021
4.8.4 682 10/31/2021
4.8.3 615 10/20/2021
4.8.2 730 10/9/2021
4.8.1 1,644 7/3/2021
4.8.0 610 6/4/2021
4.7.8 570 5/27/2021
4.7.7 595 5/10/2021
4.7.6 3,242 4/21/2021
4.7.5 708 4/4/2021
4.7.4 642 2/26/2021
4.7.3 2,104 2/9/2021
4.7.2 943 1/16/2021
4.7.1 622 1/15/2021
4.7.0 665 1/5/2021
4.6.0 1,437 12/10/2020
4.5.2 806 12/3/2020
4.5.1 2,582 10/28/2020
4.5.0 910 10/12/2020
4.4.1 1,323 9/9/2020
4.4.0 756 9/4/2020
4.3.4 751 9/1/2020
4.3.3 963 8/27/2020
4.3.2 1,235 8/15/2020
4.3.1 1,146 8/7/2020
4.3.0 1,325 8/3/2020
4.2.5 815 7/20/2020
4.2.4 755 7/14/2020
4.2.3 795 7/4/2020
4.2.2 758 7/2/2020
4.2.1 777 6/8/2020
4.2.0 1,351 5/18/2020
4.1.4 796 4/3/2020
4.1.3 813 3/27/2020
4.1.2 743 3/12/2020
4.1.1 777 3/5/2020
4.1.0 10,753 1/20/2020
4.1.0-preview-03 617 10/3/2019
4.1.0-preview-02 631 8/25/2019
4.1.0-preview-01 612 8/21/2019
4.0.7 5,391 9/4/2019
4.0.6 899 8/29/2019
4.0.5 5,447 6/8/2019
4.0.5-preview-01 752 6/7/2019
4.0.4 8,709 5/1/2019
4.0.3 961 4/10/2019
4.0.2 2,733 3/30/2019
4.0.1 923 3/28/2019
4.0.0 969 3/4/2019
3.0.2 2,319 7/11/2018
3.0.1 1,721 7/7/2018
3.0.0 1,725 6/24/2018
3.0.0-preview-12 1,130 6/6/2018
3.0.0-preview-11 1,492 3/17/2018
3.0.0-preview-10 1,470 3/13/2018
3.0.0-preview-09 1,203 2/21/2018
3.0.0-preview-08 1,195 2/12/2018
3.0.0-preview-07 1,189 2/9/2018
3.0.0-preview-06 1,428 2/8/2018
3.0.0-preview-05 1,428 2/5/2018
3.0.0-preview-04 1,458 2/1/2018
3.0.0-preview-03 1,220 12/3/2017
3.0.0-preview-02 1,236 11/14/2017
3.0.0-preview-01 1,238 10/1/2017
2.12.10 1,685 4/11/2018
2.12.9 1,855 4/7/2018
2.12.8 1,745 3/13/2018
2.12.7 1,739 1/19/2018
2.12.6 1,671 12/21/2017
2.12.5 1,407 10/30/2017
2.12.4 1,380 10/17/2017
2.12.3 1,462 10/2/2017
2.12.2 1,400 9/17/2017
2.12.1 1,432 9/9/2017
2.12.0 1,439 9/1/2017
2.12.0-preview-01 1,266 8/29/2017
2.11.6 1,422 7/18/2017
2.11.5 1,497 7/12/2017
2.11.4 1,495 6/28/2017
2.11.3 1,476 6/1/2017
2.11.2 1,469 6/1/2017
2.11.1 1,466 5/31/2017
2.11.0 1,504 5/30/2017
2.11.0-preview-02 1,263 3/15/2017
2.11.0-preview-01 1,246 3/10/2017
2.10.7 1,543 5/3/2017
2.10.6 1,536 4/20/2017
2.10.5 1,465 4/4/2017
2.10.4 1,481 3/28/2017
2.10.3 1,460 3/25/2017
2.10.2 1,499 3/14/2017
2.10.1 1,487 2/18/2017
2.10.0 1,490 2/1/2017
2.9.7 1,529 1/12/2017
2.9.6 1,485 12/30/2016
2.9.5 1,519 12/26/2016
2.9.4 1,553 12/10/2016
2.9.3 1,515 12/8/2016
2.9.2 1,518 12/3/2016
2.9.1 1,507 11/19/2016
2.9.0 1,535 11/17/2016
2.8.5 1,663 11/2/2016
2.8.4 1,620 10/28/2016

## v4.1.0

### Briefly:

- Bug fixes
- 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

## 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