/Core

Castle Core, including Castle DynamicProxy, Logging Services and DictionaryAdapter

Primary LanguageC#OtherNOASSERTION

Castle Core

Castle Core provides common Castle Project abstractions including logging services. It also features Castle DynamicProxy a lightweight runtime proxy generator, and Castle DictionaryAdapter.

See the documentation.

Releases

See the Releases.

License

Castle Core is © 2004-2015 Castle Project. It is free software, and may be redistributed under the terms of the Apache 2.0 license.

Building

.NET Framework and Silverlight

msbuild /p:Configuration=NET45-Release /t:RunAllTests buildscripts/Build.proj
msbuild /p:Configuration=NET40-Release /t:RunAllTests buildscripts/Build.proj
msbuild /p:Configuration=NET35-Release /t:RunAllTests buildscripts/Build.proj
msbuild /p:Configuration=SL50-Release /t:RunAllTests buildscripts/Build.proj
msbuild /p:Configuration=SL40-Release /t:RunAllTests buildscripts/Build.proj

Mono

Castle Core supports Mono 4.0.2+, previous 4.x releases have serious runtime bugs that cause runtime crashes. Mono 3.x releases used to work well, but are not supported.

xbuild /p:Configuration=NET45-Release /t:RunAllTests buildscripts/Build.proj

Conditional Compilation Symbols

The following conditional compilation symbols (vertical) are currently defined for each of the build configurations (horizontal):

Symbol NET35 NET40 NET45 SL40 SL50
FEATURE_LEGACY_REFLECTION_API ✅ ✅ 🚫 ✅ ✅
FEATURE_SERIALIZATION ✅ ✅ ✅ 🚫 🚫
FEATURE_XUNITNET 🚫 🚫 🚫 🚫 🚫
DOTNET35 ✅ 🚫 🚫 🚫 🚫
DOTNET40 🚫 ✅ ✅ 🚫 🚫
DOTNET45 🚫 🚫 ✅ 🚫 🚫
SILVERLIGHT 🚫 🚫 🚫 ✅ ✅
SL4 🚫 🚫 🚫 ✅ 🚫
SL5 🚫 🚫 🚫 🚫 ✅

The __MonoCS__ symbol is used only in unit tests when compiled on Mono to work around Mono defects and non-Windows differences, however we are trying to move away from platform specific symbols as much as possible.