This is the second post of a serie started with this post about a MonoRail and ActiveRecord tutorial.

Let's start developing our sample application. The first thing we need to do is to create a .NET project configured for using the CastleProject stuff. You can go in two ways:

  • Create a Visual Studio project with the MonoRail project wizard.
    The wizard will create for you the MonoRail project structure, generate the configuration elements in the web.config file and add all the necessary references to the project.
    You will be prompted to choose a view engine (NVelocity, Brail or ASP .Net Web Forms), if to enable the Windsor inversion of control, and if you wish to create a test project for TDD (Test Driven Development).
    For the purpose of this tutorial choose NVelocity, not enable Windsor and create the TDD test project. You can look at the procedure here.
  • If you are using another IDE than Visual Studio, or if you want to manually configure the environment, you can look at the manual procedure in the same link of the first point.

The references that will be added are:

  • Castle.MonoRail.Framework.dll: The MonoRail framework, that implements for the project the MVC Pattern
  • Castle.MonoRail.Framework.Views.NVelocity.dll: The view engine we have chosen
  • Castle.Components.Binder.dll: The binder implementation
  • Castle.Components.Common.EmailSender.dll: The email service contracts
  • Castle.Components.Common.EmailSender.SmtpEmailSender.dll: The email service implementation
  • Castle.Core.dll: Core functionalities shared by Castle Projects
  • NVelocity.dll: The template engine

Read more

In the last 2-3 years there were a lot of talking about agile and high-productivity development with an outstanding framework that is already in the legend, like happened to Java in the late 90s: Ruby on Rails.
Given its success, many other project in the Open Source community were born trying to reproduce the beauty of the Ruby on Rails rapid and agile development framework for other environments. Just to name a few: Turbogears for Python and Grails for Java.

The main features of these rapid development framework generally are:

I have seen many .NET developers migrating to Ruby on Rails or to others high productivity frameworks, not knowing that also for .NET (and Mono) there is already an outstanding framework for this purpose: the CastleProject.
Even if for this framework there is still not a first stable release (the main components are actually at Release Candidate 2), it offers already an excellent solution for agile and rapid development for the .NET world.

Read more