I have an app built against MVC Preview 3 (referencing local copies of the MVC assemblies) that I'm trying to modify/test on a machine with the ASP.NET MVC beta installed. I am not interesting in updating this app to run against MVC beta yet - I just need to make a few small changes.
It's failing with MissingMethodExceptions on RouteCollection.IgnoreRoutes (in global.asax.cs) because at runtime, the CLR is always finding the beta version of System.Web.Mvc in the GAC and loading this instead of the preview 3 version in my site's \bin directory.
Since the assemblies have the same name, version and public key, I believe there's no way of distinguishing between them within web.config, so I think the only solution here is to remove the ASP.NET MVC beta assemblies from the GAC.
Only - I can't do this, because they're installed by Windows Installer, so I can't remove them using gacutil.exe /u, and I'm getting "Access is denied" when I try and remove them directly.
Anyone know how I can remove this assembly - or, failing that, how to run/host an app that needs System.Web.Mvc preview 3 on a system that has System.Web.Mvc beta in the GAC?