在我的MVC 4应用程序中进行了重大重构后,Razor在调试视图时显示了此错误:
当前上下文中不存在名称“model”。
这是有问题的代码行:
@model ICollection<DataSourceByActive>
我知道@model的用法是正确的。
为什么会这样?我该怎么解决呢?
在我的MVC 4应用程序中进行了重大重构后,Razor在调试视图时显示了此错误:
当前上下文中不存在名称“model”。
这是有问题的代码行:
@model ICollection<DataSourceByActive>
我知道@model的用法是正确的。
为什么会这样?我该怎么解决呢?
当前回答
这里似乎有3个版本号设置需要彼此正确:
…包含。= . x.x.x Mvc,版本。x……(在各个地方~\Views\web.config) …System.Web.WebPages。= . x.x.x剃须刀,版本。x……(在各个地方~\Views\web.config) <add key="webpages:Version" value=" x.x.x.x。"x" />(在~\web.config中
对我有用的组合:
组合1:
包含。= 4.0.0.0 Mvc,版本
System.Web.WebPages。剃须刀,版本= 2.0.0.0之间
<add key="webpages:Version" value="2.0.0.0" />
结合2:
包含。= 5.2.7.0 Mvc,版本
System.Web.WebPages。= 3.0.0.0剃须刀,版本
<add key="webpages:Version" value="3.0.0.0" />
最后一个观察是网页:版本设置似乎是可选的。删除它似乎没有负面影响,至少在当前问题的背景下是这样。
其他回答
我在nopCommerce中遇到了这个问题,我将插件的视图部分复制到nopCommerce \Plugins下的输出文件夹中,但视图需要是一个嵌入式资源。因此,.csthml文件的错误构建操作是“内容”,而它应该是“嵌入式资源”,不需要复制。
现有的答案都不适合我,但我通过比较不同项目的.csproj文件找到了适合我的答案。下面对.csproj xml文件的手动编辑为我解决了剃刀智能感知问题,也许这可以帮助那些尝试了所有其他答案都无济于事的人。关键是删除<Reference>'s中<Private>False</Private>的任何实例:
<ItemGroup>
<Reference Include="Foo">
<HintPath>path\to\Foo</HintPath>
<!-- <Private>False</Private> -->
</Reference>
<Reference Include="Bar">
<HintPath>path\to\Bar</HintPath>
<!-- <Private>True</Private> -->
</Reference>
</ItemGroup>
我不知道它们是怎么来的,也不知道它们到底是干什么的,也许比我聪明的人可以补充这些信息。我很高兴终于解决了这个问题。
这里似乎有3个版本号设置需要彼此正确:
…包含。= . x.x.x Mvc,版本。x……(在各个地方~\Views\web.config) …System.Web.WebPages。= . x.x.x剃须刀,版本。x……(在各个地方~\Views\web.config) <add key="webpages:Version" value=" x.x.x.x。"x" />(在~\web.config中
对我有用的组合:
组合1:
包含。= 4.0.0.0 Mvc,版本
System.Web.WebPages。剃须刀,版本= 2.0.0.0之间
<add key="webpages:Version" value="2.0.0.0" />
结合2:
包含。= 5.2.7.0 Mvc,版本
System.Web.WebPages。= 3.0.0.0剃须刀,版本
<add key="webpages:Version" value="3.0.0.0" />
最后一个观察是网页:版本设置似乎是可选的。删除它似乎没有负面影响,至少在当前问题的背景下是这样。
我觉得你把网络搞砸了。config文件,它位于Views文件夹中。
创建一个新的项目,目标是相同的。net框架,并复制它的Views/web。配置文件的顶部在您的当前项目。这将解决你的问题。
此外,正如Dudeman3000评论的那样,如果你的MVC项目中有区域,它们都有视图\web。配置文件。
确保在你的网站上都有以下内容。配置和视图目录Web。在appSettings部分配置
<add key="webpages:Version" value="2.0.0.0" />
MVC5使用:
<add key="webpages:Version" value="3.0.0.0" />
(而且它只存在于主Web中。配置文件)。