Adventures of a wannabe geek!

Ranting within

The Nightmare When I Upgraded My MVC2 Solution to MVC3

I am working on a new application at work that’s an MVC3 app that talks to a WCF Service. I use a number of 3rd party libraries:

  • Ninject
  • Ninject WCF
  • Ninject MVC
  • Ninject Logging Extensions
  • Fluent Validation
  • MVCContrib
  • Automapper

So when i had to upgrade to MVC3 RTM I had to see what happened to these 3rd party systems – FYI I had a bit of a nightmare! It happened in the following order:

MVCContrib – I was a bit ahead of the game here and checked out latest branch and build from source – SORTED!

Fluent Validation – Luckily Jeremy Skinner tweeted that Fluent Validation for MVC3 was available – SORTED!

Ninject – I had to download this from github, update the solution to run as .Net 4.0 and add the new MVC3 System.Web.MVC dll to it and build from source – SORTED!

Now things started getting a bit weird!

Ninject MVC – this required the solution to be downloaded from github, upgraded to .net 4, the MVC3 System.Web.MVC dll and the previously compiled ninject dll

Ninject WCF - this required the solution to be downloaded from github, upgraded to .net 4 and the previously compiled ninject dll

Ninject Logging - this required the solution to be downloaded from github, upgraded to .net 4 and the previously compiled ninject dll

This was a horrendous task! I’m not sure I’d want to upgrade something so complex again but its all for a good cause as I can now use the Razor view engine :)

 

EDIT: Those awesome codebetter guys have created these upgrades of Ninject on their build server so you don’t have to - http://teamcity.codebetter.com/

Word of warning: DON’T TRY THIS AT HOME!