我正在 Visual Studio 2015 中开发一个 MVC 项目(最初是在 VS 2013 中创建的)
一切都构建正确,但在编码时,视图显示很多错误。
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
string quoteType = "Fee Estimate";
if (Model.Quote.QuoteType == "QuoteType")
{
}
}
在我的一个视图顶部的这段代码中,Viewbag、布局和模型都带有下划线,显示错误。
错误是:
错误CS0103名称“模型”在当前中不存在 上下文 Quilgroup C:\,,,\Index.cshtml 268
错误 CS0234 类型或命名空间名称“Mvc”不存在于 命名空间“Microsoft.AspNet”(您是否缺少程序集 参考?)Quilgroup C:...\Index.cshtml 1
我认为开发环境有问题,因为它仍然可以正确编译和运行。
删除 %localappdata%\Microsoft\VisualStudio\{version}\ComponentModelCache 文件夹,然后重新启动 Visual Studio。
我也遇到了同样的问题,这解决了。
这是一个工具问题。 VS 2015 包含仅适用于 MVC 5.x 及更高版本的 MVC 工具。您需要将 ASP.NET MVC 升级到版本 5+。
换句话说,你的 MVC 4.x 应用程序仍将被正确编译和运行,但 VS 中的开发体验和编辑将不太理想(很多错误,如下划线、转到视图不起作用等)
可能是,您缺少参考包含部分,并且已调用模型而不是模型。
*<!--add the refrence, you are missing the reference. this should remove those errors-->*
@model ManageQuote.Models.Quote
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
string quoteType = "Fee Estimate";
*<!-- use model instead of Model,I think its what you should be calling here, it would be easy if model classes were known -->*
if (model.Quote.QuoteType == "QuoteType"){
}
}
打开您的项目文件夹 搜索 *.suo 文件 删除所有这些文件
在记事本或记事本++中打开.sln文件 然后检查装配路径,它们是否正确映射? 如果没有,则正确映射。
然后清除所有临时文件。
清理你的代码。 重建。 这将解决您的问题。
大家可以试试这个:
对于任何“名称 xyz 在当前上下文中不存在”的人,
此错误更常见于 .cshtml 文件,这个问题有一个简单的解决方案:
第 1 步:检查 Web.config(在根文件夹中)并记下“AssemblyIdentity”中的所有命名空间。
第 2 步:转到 Views > Web.config,在命名空间下,添加在主 Web.config 中找到的所有命名空间,在我的例子中是:
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="Microsoft.Web.Infrastructure"/>
<add namespace="Newtonsoft.Json"/>
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Helpers" />
<add namespace="System.Web.WebPages" />
<add namespace="System.Web.Optimization"/>
<add namespace="System.Web.Routing" />
<add namespace="Your_Project_Namespace" />
</namespaces>