Castle Windsor
Castle Windsor is a best of breed, mature Inversion of Control container available for .NET.
See the documentation.
Releases
See the releases.
License
Castle Windsor is Β© 2004-2018 Castle Project. It is free software, and may be redistributed under the terms of the Apache 2.0 license.
Building
Conditional Compilation Symbols
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_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_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
.