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 WCF
- Ninject MVC
- Ninject Logging Extensions
- Fluent Validation
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!