Scrutor
Assembly scanning and decoration extensions for Microsoft.Extensions.DependencyInjection (by khellang)
DryIoc
DryIoc is fast, small, full-featured IoC Container for .NET (by dadhi)
Our great sponsors
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Scrutor
Posts with mentions or reviews of Scrutor.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-06-03.
- Reflection -> Source Generated
-
Why asp.net core is not popular like Spring boot or nodejs, although it's better than both in all aspects?
You can with MS's default DI as well via scrutor.
-
Would you use an attribute that registers your interface/classes with .nets IoC container?
I much prefer using Scrutor and asbly scanning myself. https://github.com/khellang/Scrutor
Is this an improvement over Scrutor somehow?
-
A new small opensource library - Autojector.
I might suggest additional registration time extensions to modify the behavior as needed on classes. Take a look at Scrutor for some inspiration on API specifically.
-
6 .NET Myths Dispelled — Celebrating (Almost) 21 Years of .NET
There is a package that simplifies it for you if you want. But not everybody agrees that automatic registration is good pattern, so you have a choice.
-
Adding Polly Policies To Your IDistributedCache
https://github.com/khellang/Scrutor Scutor adds Assembly scanning and decoration to the .NET dependency injection. Helpful when you want to use decorators or when you want to register all classes that implement an interface.
-
Distributed Caching in ASP.NET Core with Redis
💡 Tip: You would ideally want to decorate the UsersService class with CacheService by using a DI container such as Scrutor. You don’t want to write the plumbing code we have written here to emulate a similar thing as the default DI container doesn’t support the behaviour. Refer to Andrew Lock’s excellent article on this topic.
-
A couple of questions about dotnet from a Java developer :)
With Scrutor you can decorate (AddDecorator) the injected service. Fits your usecase, see tutorial here
DryIoc
Posts with mentions or reviews of DryIoc.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-02-21.
-
Announcing .NET 8 Preview 1
I'd like to keep the convention-based assembly scanning capabilities if ever that was possible. It's too convenient and less error prone than manually registering everything through attributes like current source generator strategies go. DryIocZero supports this somewhat using t4 templates, it gives you a method where you can register your stuff and do assembly scanning and it'll generate your container from there. It works and is quite small and fast but the UX does need some work since t4 is rather clunky to write on.
What are some alternatives?
When comparing Scrutor and DryIoc you can also consider the following projects:
Unity - This repository contains all relevant information about Unity Container suit
Autofac - An addictive .NET IoC container
Microsoft.Extensions.DependencyInjection
Simple Injector - An easy, flexible, and fast Dependency Injection library that promotes best practice to steer developers towards the pit of success.
Ninject - the ninja of .net dependency injectors
Lamar - Fast Inversion of Control Tool and Successor to StructureMap
LightInject - An ultra lightweight IoC container
TinyIoC - An easy to use, hassle free, Inversion of Control Container for small projects, libraries and beginners alike.
VS MEF - Managed Extensibility Framework (MEF) implementation used by Visual Studio