Bu yazımda tek proje kullanarak MVC Areas yapısını oluşturmayı ve kullanmayı göstermeye çalışacağım. Daha önce 
buradaki yazımda birden fazla proje kullanarak MVC Areas yapısını oluşturmayı ve kullanmayı göstermiştim. Şimdi de tek proje üzerinde Areas yapısını oluşturma ve kullanmayı göreceğiz. Bu yapı ile hazırlayacağımız projeleri bölümlendirip, daha kolay daha organize daha kolay yönetilebilir ve geliştirilebilir bir yapı oluşturmuş oluyoruz. Ayrıca MVC ile gelen standart yapı dışına çıkıp (Views, Controller klasörlerinin olmaması), istediğimiz dizin yapısı ile MVC projeleri oluşturabiliriz. Bu şekilde çok esnek, çok kolay yönetilebilir, açık bir proje oluşturup, geliştirebiliriz. Şimdi bu Areas yapısını tek proje ile nasıl yapacağımıza bakalım.

Öncelikle Visual Studio ile MVC projemizi oluşturuyoruz. Bunun için 
File ~ New Project sekmesini seçip, çıkan ekranda kullanacağımız dili, 
Asp.Net MVC 2 Web Application seçeneğini seçip, diğer seçenekleri eksiksiz tamamlayarak projemizi oluşturuyoruz. Projemizi oluşturduktan sonra 
Areas yapısını hazırlamak için projenin ana dizinine 
Areas adında bir klasör oluşturuyoruz. Bu klasör altında oluşturacağımız alt sistemleri (Areas) tanımlayacağız. Ben paylaşacağım örnekte Blog ve Forum adında alt sistemler oluşturdum. 
Yandaki resimden görüleceği gibi oluşturduğum alt sistemlerin içine de 
Controllers, 
Views klasörleri ile alt sistemlere ulaşılmak istendiğinde Url isteklerini karşılayacak olan tanımlamaları içeren 
Routes.cs dosyasını (bu dosyanın içeriğini yazımın devamında bulabilirsiniz.) ekliyoruz. Bu yapıyı her alt sistem için hazırlıyoruz. 
Alt sistemlerde yer alan 
Controllers klasörü ile alt sistemleri kontrol eden mekanizmalar tanımlanmış oluyor. 
Views klasörü içine sayfalarımızı (Views'ları - her bölüm için) tanımlıyoruz. 
Routes.cs dosyası ile de alt sistemlerin hangi URL isteğinde çalışacağını, URL yapısının nasıl olacağını belirliyoruz. 
Routes.cs ile tanımladığımız yapıların genel sistem ile çalışması için projenin ana dizininde yer alan 
Global.asax dosyasında yer alan 
RegisterRoutes metodu içinde 
AreaRegistration.RegisterAllAreas(); diyerek alt sistemler için 
Routes.cs dosyalarında tanımladığımız URL yapılarını da tüm proje için tanımlamış oluyoruz. Tüm bunları yaptıktan sonra tek proje ile Areas yapısını oluşturmuş oluyoruz. Bu şekilde bir sistemde birçok alt sistem tanımlayıp, daha sade daha kolay daha düzenli daha esnek bir proje hazırlamış oluruz.
Alt sistemlerde yer alan Routes.cs dosyasının içeriği ise şu şekilde olabilir (Hazırladığım örnekteki Blog alt sistemi için tanımlanan Routes.cs dosyasının içeriği).
namespace MvcAreas2.Areas.Blog
{
  public class Routes : AreaRegistration
  {
    public override string AreaName
    {
      get { return "Blog"; }
    }
    public override void RegisterArea(AreaRegistrationContext context)
    {
      context.MapRoute(
          "Blog_default",
          "Blog/{action}/{id}",
          new { controller = "Blog", action = "Anasayfa", id = "" }
      );
    }
  }
}
 
 
Tüm bunları yaptıktan sonra MVC içinde yer alan link oluşturma metotlarını kullanırken Areas özelliğini de bildirmemiz gerekiyor. Ayrıca bu yapıyı kullanmak için MVC 2.0 Preview 2 kurulmuş olması gerekir. Her iki durum için gerekli olan bilgilere 
buradaki yazımdan ulaşabilirsiniz. 
Bu şekilde tek proje ile MVC Areas özelliğini nasıl kullanacağımızı görmüş oluyoruz. Tek proje ile Areas özelliğini sağlama ve kullanma birden fazla proje kullanarak Areas özellğini oluşturup kullanmaktan daha kolay. Bu yazıyı hazırlamak için kullandığım örnek projeyi 
buradan indirebilir, inceleyebilirsiniz.
İyi Çalışmalar.
Kaynak