我使用的是VS 2008 sp1,.net dotfx 3.5 sp1,asp.net mvc beta。我在运行老赵的webcast上提供的基于asp.net mvc preview 5版本的代码的时候,总是报错”CS0234: 命名空间“System.Web”中不存在类型或命名空间名称“Mvc”(是否缺少程序集引用?)“。希望能够从原理上解释下或者提供不同版本迁移的方案。谢谢!网上的解决方案是:
处理办法:卸载asp.net mvc beta版,安装asp.net mvc preview 5版本即可。原理分析:ASP.NET web应用程序在运行的时候,首先引用的dll文件是否存在于GAC(windows/assembly文件夹)
,然后检查程序文件的bin文件夹。所以尽管我的应用程序引用的dll文件是指定文件夹位置(非GAC或bin),仍然会引起错误,因为运行时它调用的是GAC下的system.web.mvc.dll文件。
这个方法好使,但是不可行,因为asp.net mvc 版本总是在升级的,我不能不升级啊。请教asp.net mvc 往上高版本移植的通用方法。万分感谢!!
处理办法:卸载asp.net mvc beta版,安装asp.net mvc preview 5版本即可。原理分析:ASP.NET web应用程序在运行的时候,首先引用的dll文件是否存在于GAC(windows/assembly文件夹)
,然后检查程序文件的bin文件夹。所以尽管我的应用程序引用的dll文件是指定文件夹位置(非GAC或bin),仍然会引起错误,因为运行时它调用的是GAC下的system.web.mvc.dll文件。
这个方法好使,但是不可行,因为asp.net mvc 版本总是在升级的,我不能不升级啊。请教asp.net mvc 往上高版本移植的通用方法。万分感谢!!
4)第四步:在web.config中配置添加页面的命名空间System.Web.Mvc.Html <add namespace="System.Web.Mvc.Html"/>
--------------------------------------------------------------------------------找不到方法:“Void System.Web.Mvc.RouteCollectionExtensions.IgnoreRoute(System.Web.Routing.RouteCollection, System.String)”。请再帮忙解答一下。