我正在使用VS 2010与ASP.net MVC 2。
我收到了一个已完成的程序,当我调试程序时,我收到了一条错误消息。
“错误4类型'System.Web.Routing.RouteTable'存在于'C:\ Program Files \ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0 \ System.Web.dll'和'C: \ Documents and Settings \ Vincent \ Desktop \ 3 \ Manning.ASP.NET.MVC.2.in.Action.Jun.2010 \ aspnetmvc2inaction_code \ lib \ AspNetMvc \ System.Web.Routing.dll'C:\ Documents and Settings \文森特\桌面\ 3 \ Manning.ASP.NET.MVC.2.in.Action.Jun.2010 \ aspnetmvc2inaction_code \ SRC \ CHAPTER01 \留言\ Global.asax.cs中“
和
“错误1”c:\ Program Files \ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0 \ System.Web.dll'和'c:中存在'System.Web.Routing.RequestContext'类型\ Documents and Settings \ Vincent \ Desktop \ 3 \ Manning.ASP.NET.MVC.2.in.Action.Jun.2010 \ aspnetmvc2inaction_code \ lib \ AspNetMvc \ System.Web.Routing.dll'C:\ Documents and Settings \文森特\桌面\ 3 \ Manning.ASP.NET.MVC.2.in.Action.Jun.2010 \ aspnetmvc2inaction_code \ SRC \ CHAPTER01 \留言\控制器\ AccountController.cs”。
该程序已转换为VS 2010格式。
我该怎么办?
// Fullmetalboy
答案 0 :(得分:4)
在VS2010中将项目从.Net 2.0 / 3.5转换为4.0时,Web项目将提示您将框架升级到4.0但是您需要手动进入项目属性并升级类库项目和某些其他项目手动在项目属性中。因此,这种类型的错误可能是由您的Web项目引用System.Web.Routing的4.0版本引起的,但解决方案中的类库仍然引用3.5版本。
答案 1 :(得分:0)
您的解决方案中的一个项目是在两个不同的位置引用单个类型(RouteTable / RequestContext)。我总是从清理和重建解决方案开始,但如果这不能解决问题,那么您将不得不检查项目引用并以此方式解决它。如果所有其他方法都失败了,请尝试从头开始创建一个新项目并手动添加所需的参考和项目,然后复制并粘贴旧代码。
答案 2 :(得分:0)
有人将ASP.NET MVC源代码复制到应用程序的“lib”文件夹中,并在项目中包含该文件夹(因此在构建项目时将其构建)或者在您获得之前构建它它并在项目中引用它。现在它与系统'c:\ Program Files \ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0 \ System.Web.dll'上的默认安装文件夹中存在的ASP.NET库冲突。
答案 3 :(得分:0)
由于您使用的是.NET 4.0 Framework,因此库System.Web.Routing是不明确的。确保您已引用System.Web.dll(版本4.0)并删除对System.Web.Routing.dll
的引用