BC30561:'Html'不明确,从命名空间或类型'System.Web.WebPages,System.Web.Mvc'导入

Jos*_*ank 4 asp.net asp.net-mvc asp.net-mvc-5.2

我将我的MVC应用程序从MVC 3升级到5.2.2,现在我收到了这个错误.我使用新的项目向导创建了一个全新的MVC项目,这很有效,我在两个项目中比较了我/web.configViews/web.config文件,但没有看到任何看起来很重要的差异.

在对象浏览器中查看,我发现实际上有两个不同的HtmlHelper对象定义在System.Web.WebPages和中System.Web.Mvc,这似乎是相关的:

在此输入图像描述

但我不确定如何处理这个事实.

Jos*_*ank 6

经过几个小时的摔跤,然后在这里发布问题,我一分钟后想出来了; 我已经指定了一个像这样的强类型模型:

@ModelType IEnumerable(Of MyModel)
Run Code Online (Sandbox Code Playgroud)

但是在我升级到5.2.2的同一时间,我重新组织了我的命名空间,因此它MyModel位于不同的命名空间中,这导致了问题.解决方法是将其更改为:

@ModelType IEnumerable(Of NewNamespace.MyModel)
Run Code Online (Sandbox Code Playgroud)

如果编译器发现了这一点会很好.我永远不会想到它根本找不到我的模型对象类型,但不会这么说.