Skip to content
/ Core Public
forked from castleproject/Core

Castle Core, including Castle DynamicProxy, Logging Services and DictionaryAdapter

License

Notifications You must be signed in to change notification settings

Henr1k80/Core

This branch is 1 commit ahead of, 1 commit behind castleproject/Core:master.

Folders and files

NameName
Last commit message
Last commit date
Aug 30, 2024
Sep 10, 2023
Sep 28, 2023
Aug 30, 2024
Oct 16, 2024
Apr 6, 2022
May 13, 2020
Jul 22, 2016
Apr 30, 2018
Aug 30, 2024
Apr 27, 2015
Apr 8, 2022
May 13, 2020
Jan 2, 2021
May 9, 2022
Apr 8, 2022
Jan 2, 2021
Apr 8, 2022
Feb 6, 2021

Repository files navigation

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

NuGet

See the Releases.

Debugging symbols are available in symbol packages in the AppVeyor build artifacts since version 4.1.0. For example, here are the artifacts for 4.1.0.

License

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

Contributing

Browse the contributing section of our Home repository to get involved.

Building

Platforms NuGet Feed
Windows & Linux Preview Feed

On Windows

build.cmd

Compilation requires a C# 9 compiler, an up-to-date .NET Core SDK, and MSBuild 15+ (which should be included in the former).

Running the unit tests additionally requires the .NET Framework 4.6.2+ as well as the .NET Core 2.1, 3.1 and 6.0 runtimes to be installed. (If you do not have all of those installed, you can run the tests for a specific target framework using dotnet test -f <framework>.)

These requirements should be covered by Visual Studio 2022 and the .NET 6 SDK.

On Linux

./build.sh

Compilation requires an up-to-date .NET Core SDK.

Running the unit tests additionally requires the .NET Core 3.1 and 6.0 runtimes to be installed, as well as either Docker or Mono. For the latter, we recommend Mono 5.10+, though older versions (4.6.1+) might still work as well.

ℹ️ Mono runtime support: Castle Core runs with minor limitations and defects on Mono 4.0.2+ (however 4.6.1+ is highly recommended, or 5.10+ if your code uses new C# 7.x language features such as in parameters).

We test against up-to-date Mono versions in order to fix known defects as soon as possible. Because of this, if you are using an older Mono version than our Continuous Integration (CI) build, you might see some unit tests fail.

For known Mono defects, check our issue tracker, as well as unit tests marked with [Platform(Exclude = "Mono", ...)] in the source code.

Conditional Compilation Symbols

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

Symbol .NET 4.6.2 .NET Standard 2.x and .NET 6
FEATURE_APPDOMAIN 🚫
FEATURE_ASSEMBLYBUILDER_SAVE 🚫
FEATURE_SERIALIZATION 🚫
FEATURE_SYSTEM_CONFIGURATION 🚫
  • FEATURE_APPDOMAIN - enables support for features that make use of an AppDomain in the host.
  • FEATURE_ASSEMBLYBUILDER_SAVE - enabled support for saving the dynamically generated proxy assembly.
  • FEATURE_SERIALIZATION - enables support for serialization of dynamic proxies and other types.
  • FEATURE_SYSTEM_CONFIGURATION - enables features that use System.Configuration and the ConfigurationManager.

About

Castle Core, including Castle DynamicProxy, Logging Services and DictionaryAdapter

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 99.8%
  • Other 0.2%