I’ve recently been looking at MvcContrib portable areas after a colleague suggested they could be the solution to providing an application a composite UI. While looking at this I noticed that ReSharper 5 had a few issues, primarily in views. This is not entirely unexpected as splitting a site across multiple projects is hardly standard MVC behaviour (although it’s pretty much exactly what we want in this scenario). I made a comment on this on Twitter and got a response from a Jetbrains Technical Evangelist. This post is to describe the behaviour I’m seeing in more detail that Twitter allows.
The main issues are with views, as can be seen below. This is a screenshot of the MvcContrib Portable Areas sample, specifically the view in the Login portable area. Unsurprisingly ReSharper can’t find the master page which is in a different project. More surprisingly it can’t find the generic ViewPage class and therefore doesn’t appear to be able to work out the page base class. This means that Intellisense is unaware of the Html property and therefore isn’t working for any of the MVC code in the view.
Additionally (and less importantly) in the controllers the views are not detected and ReSharper prompts to create them.
This all seems to be the result of doing things in an unusual way and it seems unreasonable to expect tools to cover every possible contingency. Apart from these glitches the latest ReSharper 5 EAP builds seem a big improvement.