我有一个针对 MVC Preview 3(引用 MVC 程序集的本地副本)构建的应用程序,我试图在安装了 ASP.NET MVC beta 的机器上对其进行修改/测试。我对更新这个应用程序以运行 MVC 测试版并不感兴趣——我只需要做一些小改动。
RouteCollection.IgnoreRoutes (在 global.asax.cs 中)上的 MissingMethodExceptions 失败,因为在运行时,CLR 总是在 GAC 中找到 System.Web.Mvc 的 beta 版本并加载它而不是在我的站点中加载预览 3 版本的 \ bin 目录。
由于程序集具有相同的名称、版本和公钥,我相信在 web.config 中无法区分它们,所以我认为这里唯一的解决方案是从 GAC 中删除 ASP.NET MVC beta 程序集。
只有 - 我不能这样做,因为它们是由 Windows Installer 安装的,所以我无法使用 gacutil.exe /u 删除它们,当我尝试直接删除它们时,我得到“访问被拒绝”。
任何人都知道我可以如何删除这个程序集 - 或者,如果失败了,如何在 GAC 中具有 System.Web.Mvc beta 的系统上运行/托管需要 System.Web.Mvc preview 3 的应用程序?