Castle Project

Castle Project (or Castle for short) is an open-source application framework for CLI platform implementations (e.g., .NET Framework). It was released on November 6, 2014. The project was founded by a member of the Apache Avalon and the Apache Excalibur projects.

History
The project was founded by Hamilton Verissimo de Oliveira (aka "Hammett"), who was a member of the Apache Avalon and the Apache Excalibur projects. Keenly interested in the development of an inversion of control container, after he resigned from Avalon and became disillusioned with Excalibur, he went on to develop and release his own for the .NET platform.

Hammett was joined by other developers after publishing a series of articles on Code Project, and the Castle Project eventually expanded its mission "to provide a simple set of tools to speed up the development of common enterprise and web applications while promoting good architecture".

The Castle Project continues to gain acceptance and mind-share from the .NET community, including recognition from Microsoft thought leaders as a framework to assist with building "robust, extensible, working software".

In 2006, Hammett started his own company to offer commercial support for the Castle Project and for the applications developed using the framework. In August 2008, he joined Microsoft as a Program Manager on the MEF team.

On October 31, 2008, Hammett announced on his blog that the Castle Project had been split, and subsequently all subprojects would be maintained and released independently.

The first project to be released after the split was DynamicProxy, on May 4, 2009.

Features

 * MicroKernel, a core lightweight inversion of control (IoC) container.
 * Windsor, a flexible and powerful configurable Inversion of Control container suitable for enterprise requirements.
 * MonoRail, a MVC web application framework, inspired by Ruby on Rails
 * ActiveRecord, an implementation of the active record pattern built on top of NHibernate.
 * Aspect#, a simple aspect-oriented programming framework compliant with AOP Alliance recommendations.
 * DynamicProxy, a popular lightweight proxy generator for interfaces and concrete classes.
 * NVelocity, an improved fork from the official port of the Velocity template engine.