在我的MVC 4应用程序中进行了重大重构后,Razor在调试视图时显示了此错误:
当前上下文中不存在名称“model”。
这是有问题的代码行:
@model ICollection<DataSourceByActive>
我知道@model的用法是正确的。
为什么会这样?我该怎么解决呢?
在我的MVC 4应用程序中进行了重大重构后,Razor在调试视图时显示了此错误:
当前上下文中不存在名称“model”。
这是有问题的代码行:
@model ICollection<DataSourceByActive>
我知道@model的用法是正确的。
为什么会这样?我该怎么解决呢?
当前回答
在我的例子中,我删除了web。配置文件不小心从视图文件夹。我把它加回来了,没问题。
其他回答
对我来说,问题是我最近导入的一个库中的. net版本冲突。我导入的库是为4.5.2和ASP。NET MVC站点我把它导入了目标4.5。重新编译后说库4.5网站将编译。
此外,没有编译错误,但这个问题被报告为“警告”。因此,如果有任何警告,请务必阅读所有警告。
在我的案例中,问题是在将项目从MVC 4升级到MVC 5之后,我不知为何错过了Views/web.config中的版本更改:
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
它仍然使用旧的2.0.0.0版本。在将版本更改为3.0.0.0之后,一切都开始正常工作。
此外,由于这个问题,Visual Studio 2015 Community Edition每次打开.cshtml文件时都会开始敲打CPU(空闲时占用30-40%)。
我通过使用@Model而不是仅仅在打印变量时使用model解决了这个问题。
在我的例子中,我删除了web。配置文件不小心从视图文件夹。我把它加回来了,没问题。
我觉得你把网络搞砸了。config文件,它位于Views文件夹中。
创建一个新的项目,目标是相同的。net框架,并复制它的Views/web。配置文件的顶部在您的当前项目。这将解决你的问题。
此外,正如Dudeman3000评论的那样,如果你的MVC项目中有区域,它们都有视图\web。配置文件。