Castle Windsor alternatives and similar packages
Based on the "IoC" category.
Alternatively, view Castle Windsor alternatives based on common mentions on social networks and blogs.
-
Microsoft.Extensions.DependencyInjection
DISCONTINUED. The default IoC container for ASP.NET Core applications. -
Simple Injector
An easy, flexible, and fast Dependency Injection library that promotes best practice to steer developers towards the pit of success. -
TinyIoC
An easy to use, hassle free, Inversion of Control Container for small projects, libraries and beginners alike. -
DryIoc is fast, small, full-featured IoC Container for .NET
DryIoc is fast, small, full-featured IoC Container for .NET -
Simplify.DI
Simplify is an open-source set of lightweight .NET libraries that provide infrastructure for your applications. DI and mocking friendly.
CodeRabbit: AI Code Reviews for Developers
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Castle Windsor or a related project?
README
Castle Windsor
Castle Windsor is a best of breed, mature Inversion of Control container available for .NET.
See the [documentation](docs/README.md).
Releases
See the releases.
License
Castle Windsor is © 2004-2020 Castle Project. It is free software, and may be redistributed under the terms of the Apache 2.0 license.
NuGet Preview Feed
If you would like to use preview NuGet's from our CI builds on AppVeyor, you can add the following NuGet source to your project:
https://ci.appveyor.com/nuget/windsor-qkry8n2r6yak
Building
Conditional Compilation Symbols
The following conditional compilation symbols are currently defined for Windsor:
Symbol | .NET 4.5 | .NET Standard |
---|---|---|
CASTLE_SERVICES_LOGGING |
:white_check_mark: | :no_entry_sign: |
FEATURE_APPDOMAIN |
:white_check_mark: | :no_entry_sign: |
FEATURE_ASSEMBLIES |
:white_check_mark: | :no_entry_sign: |
FEATURE_EVENTLOG |
:white_check_mark: | :no_entry_sign: |
FEATURE_GAC |
:white_check_mark: | :no_entry_sign: |
FEATURE_GETCALLINGASSEMBLY |
:white_check_mark: | :no_entry_sign: |
FEATURE_ISUPPORTINITIALIZE |
:white_check_mark: | :no_entry_sign: |
FEATURE_PERFCOUNTERS |
:white_check_mark: | :no_entry_sign: |
FEATURE_REMOTING |
:white_check_mark: | :no_entry_sign: |
FEATURE_SECURITY_PERMISSIONS |
:white_check_mark: | :no_entry_sign: |
FEATURE_SERIALIZATION |
:white_check_mark: | :no_entry_sign: |
FEATURE_SYSTEM_CONFIGURATION |
:white_check_mark: | :no_entry_sign: |
FEATURE_URIMEMBERS |
:white_check_mark: | :no_entry_sign: |
CASTLE_SERVICES_LOGGING
- enables access toCastle.Services.Logging.log4netIntegration
andCastle.Services.Logging.NLogIntegration
in the logging facility.FEATURE_APPDOMAIN
- enables support for features that make use of an AppDomain in the host.FEATURE_ASSEMBLIES
- usesAssemblyName.GetAssemblyName()
andAssembly.LoadFile()
.FEATURE_EVENTLOG
- uses Castle Core APIs that are based on the Windows Event Log.FEATURE_GAC
- enables support for obtaining assemblies using an assembly's long form name.FEATURE_GETCALLINGASSEMBLY
- enables code that usesSystem.Reflection.Assembly.GetCallingAssembly()
.FEATURE_ISUPPORTINITIALIZE
- enables support for features that make use ofSystem.ComponentModel.ISupportInitialize
.FEATURE_PERFCOUNTERS
- enables code that uses Windows Performance Counters.FEATURE_REMOTING
- supports remoting on various types including inheriting fromMarshalByRefObject
.FEATURE_SECURITY_PERMISSIONS
- enables the use of CAS andSecurity[Critical|SafeCritical|Transparent]
.FEATURE_SERIALIZATION
- enables support for serialization of dynamic proxies and other types.FEATURE_SYSTEM_CONFIGURATION
- enables features that useSystem.Configuration
and theConfigurationManager
.FEATURE_URIMEMBERS
- enables code that usesUri.SchemeDelimiter
.
The following conditional compilation symbols are defined for tests only under .NET 4.5:
FEATURE_CODEDOM
- enables code that usesSystem.CodeDom
.FEATURE_CONSOLETRACELISTENER
- enables code that requiresSystem.Diagnostics.ConsoleTraceListener
.FEATURE_THREADABORT
- enables code that usesThread.Abort()
.FEATURE_WPF
- enables code that usesPresentationCore.dll
.NUNIT_SETCULTUREATTRIBUTE
- usesNUnit.Framework.SetCultureAttribute
.NUNIT_TIMEOUTATTRIBUTE
- usesNUnit.Framework.TimeoutAttribute
.
*Note that all licence references and agreements mentioned in the Castle Windsor README section above
are relevant to that project's source code only.