We have an existing, fully functional, ASP.NET MVC 2 app. I am creating an MVC 3 app that is supposed to have the same look and feel as the existing one. That is, it should use the same navigation ascx, header and footer ascx, etc. The existing app's ascx's populate themselves based on what's in the model, so it's not "just" the UI stuff that I want to bring over, it's the models and controller logic pertaining to those controls too.
Is there any nice way to do this without majorly refactoring the original app? I've heard about Portable Areas (http://lostechies.com/erichexter/2009/11/01/asp-net-mvc-portable-areas-via-mvccontrib/), but it looks like that would require a significant refactor on the existing app. I've also looked into the Razor Single File Generator extension, which would allow us to compile views into dlls and share them, but, that would require converting the existing app to MVC 3, then the views to Razor. (And I'm still not sure it would be necessarily "easy" after that.)
Am I overlooking anything obvious here? It just feels like there should be a good way to do this, but perhaps the existing app just needs a big overhaul. :P
Thanks in advance!