title: Accessing Views from one MVC project to another
body: <p>Newish to MVC so please forgive me if i am overlooking a major concept. </p>
  
  <p>Ive simplified my projects to two basic projects to see what concept im missing. I have two MVC projects setup one called "Path" the other is "Guru". Path being the starting project i am able to access the route to Guru's Controller "Shine" however when it attempts to return the view it is unable to find the view.</p>
  
  <p>I then copied the views folder from Guru to Path and the program works well i am able to call the controller from Guru and in turn it appears to use Paths view folder. My question is how can i setup some sort of routing to get to the views folder in Guru?</p>
  
  <p>I had attempted a custom view engine but im unsure of how to tell said engine to reach into Guru instead of "Path". Making copies of every view into the Path project seems very impractical and cant be the best approach.</p>
  
  <p>It seems with the code below i am simply telling the program to look in the same exact place as it was already currently looking.</p>
  
  <pre><code>public class GuruViewEngine : VirtualPathProviderViewEngine
  {
      public GuruViewEngine()
      {
          // Define the location of the View file
          this.ViewLocationFormats = new string[]
      { "~/Views/Shine/{1}/{0}", "~/Views/Shared/{0}" };
  
          this.PartialViewLocationFormats = new string[]
      { "~/Views/{1}/{0}", "~/Views/Shared/{0}" };
      }
  
      protected override IView CreatePartialView(ControllerContext controllerContext, string partialPath)
      {
          var physicalpath = controllerContext.HttpContext.Server.MapPath(partialPath);
          return new GuruView(physicalpath);
      }
  
      protected override IView CreateView(ControllerContext controllerContext, string viewPath, string masterPath)
      {
          var physicalpath = controllerContext.HttpContext.Server.MapPath(viewPath);
          return new GuruView(physicalpath);
      }
  }
  </code></pre>