命名空间“Mvc”的类型不存在于命名空间“Microsoft.AspNet”中

问题描述 投票:0回答:5

我正在 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

我认为开发环境有问题,因为它仍然可以正确编译和运行。

visual-studio asp.net-mvc-4 razor
5个回答
19
投票

删除 %localappdata%\Microsoft\VisualStudio\{version}\ComponentModelCache 文件夹,然后重新启动 Visual Studio。

我也遇到了同样的问题,这解决了。

来源:安装AspNet5RC1后,无法再在任何以前/新的MVC项目中打开cshtml文件


0
投票

这是一个工具问题。 VS 2015 包含仅适用于 MVC 5.x 及更高版本的 MVC 工具。您需要将 ASP.NET MVC 升级到版本 5+。

换句话说,你的 MVC 4.x 应用程序仍将被正确编译和运行,但 VS 中的开发体验和编辑将不太理想(很多错误,如下划线、转到视图不起作用等)


0
投票

可能是,您缺少参考包含部分,并且已调用模型而不是模型。

*<!--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"){
   }
}

0
投票

打开您的项目文件夹 搜索 *.suo 文件 删除所有这些文件

在记事本或记事本++中打开.sln文件 然后检查装配路径,它们是否正确映射? 如果没有,则正确映射。

然后清除所有临时文件。

清理你的代码。 重建。 这将解决您的问题。


0
投票

大家可以试试这个:

对于任何“名称 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>
© www.soinside.com 2019 - 2024. All rights reserved.