Castle Windsor is a best of breed, mature Inversion of Control container available for .NET.
See the documentation.
See the releases.
Castle Windsor is ยฉ 2004-2017 Castle Project. It is free software, and may be redistributed under the terms of the Apache 2.0 license.
The following conditional compilation symbols are currently defined for Windsor:
Symbol | .NET 4.5 | .NET Standard |
---|---|---|
CASTLE_SERVICES_LOGGING |
โ | ๐ซ |
FEATURE_APPDOMAIN |
โ | ๐ซ |
FEATURE_ASSEMBLIES |
โ | ๐ซ |
FEATURE_EVENTLOG |
โ | ๐ซ |
FEATURE_GAC |
โ | ๐ซ |
FEATURE_GETCALLINGASSEMBLY |
โ | ๐ซ |
FEATURE_ISUPPORTINITIALIZE |
โ | ๐ซ |
FEATURE_NETCORE_REFLECTION_API |
๐ซ | โ |
FEATURE_PERFCOUNTERS ย ย ย ย ย ย |
โ | ๐ซ |
FEATURE_REFLECTION_METHODBODY ย ย |
โ | ๐ซ |
FEATURE_REMOTING |
โ | ๐ซ |
FEATURE_SECURITY_PERMISSIONS |
โ | ๐ซ |
FEATURE_SERIALIZATION |
โ | ๐ซ |
FEATURE_SYSTEM_CONFIGURATION |
โ | ๐ซ |
FEATURE_SYSTEM_WEB |
โ | ๐ซ |
FEATURE_URIMEMBERS |
โ | ๐ซ |
FEATURE_WINFORMS |
โ | ๐ซ |
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_NETCORE_REFLECTION_API
- provides shims to implement missing functionality in .NET Core that have no alternatives.FEATURE_PERFCOUNTERS
- enables code that uses Windows Performance Counters.FEATURE_REFLECTION_METHODBODY
- enables code that usesSystem.Reflection.MethodBase.GetMethodBody()
to get access to the MSIL for a method.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_SYSTEM_WEB
- enables code that usesSystem.Web
andSystem.Web.UI
.FEATURE_URIMEMBERS
- enables code that usesUri.SchemeDelimiter
.FEATURE_WINFORMS
- enables code that uses Windows Forms.
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
.