title: MVC3 not calling controller in external assembly
body: <p>I am trying to create an area in a separate assembly. My route appears correct, according to RouteDebugger, but I am getting a “The controller for path {0} was not found or does not implement IController.” error.</p>
  
  <p>I verified that the controller is registered in my container, but under a different namespace which I am specifying in my route.</p>
  
  <p>Route registration:</p>
  
  <pre><code>    routes.MapRoute(
          "EventCalendar", 
          "EventCalendar/{action}/{id}", 
          new { controller = "EventCalendar", action = "Index", id = UrlParameter.Optional }, 
          new[] { "MyAssembly.MyName.Controllers", " MyAssembly.MyName" }
      );
  </code></pre>
  
  <p>Controller:</p>
  
  <pre><code>namespace MyAssembly.MyName.Controllers
  {
      public class EventCalendarController : Controller
      {
          public PartialViewResult Index()
          {
              return new PartialViewResult
              {
                  ViewName = "~/Views/EventCalendar/Index.cshtml",
                  ViewData = new ViewDataDictionary&lt;object&gt;(this.ViewData.Model)
              };
          }
      }
  }
  </code></pre>
  
  <p>I am specifying both the namespace of the controller and the parent namespace in the route. Examples I have looked at are not clear as to which one is required. OrchardCMS uses the parent namespace. 
  Am I registering the route correctly? </p>
  
  <p>As long as the controller is in my container, and the namespace matches, it should resolve and be invoked right? The controllers in the main assembly work fine.</p>