title: The controller for path ... was not found or does not implement IController
body: <p>I am writing an application using ASP.NET MVC 5 using c#. I have a need to add a global menu on the upper right hand side of the application. I was advised <a href="https://stackoverflow.com/questions/38530830/how-can-i-create-a-global-menu-for-my-application-whith-its-items-pulled-from-a">other SO</a> to use action with <code>ChildActionOnly</code> attribute.</p>
  
  <p>So here is what I have done.</p>
  
  <p>I created a BaseController like this</p>
  
  <pre><code>public class BaseController : Controller
  {
  
      [ChildActionOnly]
      public ActionResult ClientsMenu()
      {
          using (SomeContext db = new SomeContext())
          {
              return PartialView(db.Database.SqlQuery&lt;Client&gt;("SELECT * FROM clients").ToList());
          }
      }
  
  }
  </code></pre>
  
  <p>Then I inherited all my controllers from <code>BaseController</code> like so</p>
  
  <pre><code>public class TasksController : BaseController
  {
  
      public ActionResult Index(int ClientId)
      {
          ...
          return View();
      }
  
      public ActionResult Show(int SurveyId)
      {
          ...
          return View();
      }
  
  }
  </code></pre>
  
  <p>To render the <code>ClientsMenu</code> in my layout I added the following code</p>
  
  <pre><code>@Html.Action("ClientsMenu", "Menus")
  </code></pre>
  
  <p>Now when I run my application I get the following error</p>
  
  <pre><code>The controller for path '/Tasks/Index' was not found or does not implement IController.
  </code></pre>
  
  <p>When I remove <code>@Html.Action("ClientsMenu", "Menus")</code> from the layout everything works fine but the global menu does not show of course.</p>
  
  <p>What can I do to resolve this issue?</p>
  
  <p><strong>Updated</strong>
  Here is what I have done after the feedback I got from the comments below</p>
  
  <pre><code>public class TasksController : Controller
  {
      [ChildActionOnly]
      public ActionResult ClientsMenu()
      {
          using (SomeContext db = new SomeContext())
          {
              return PartialView(db.Database.SqlQuery&lt;Client&gt;("SELECT * FROM clients").ToList());
          }
      }
  
      public ActionResult Index(int ClientId)
      {
          ...
          return View();
      }
  
      public ActionResult Show(int SurveyId)
      {
          ...
          return View();
      }
  
  }
  </code></pre>
  
  <p>but still the same error</p>