命名空间'Microsoft.AspNet'中不存在'Mvc'类型的命名空间。

16

我正在使用Visual Studio 2015(最初在VS 2013中创建)开发MVC项目。

所有内容都可以正确构建,但是在编码时,视图显示出很多错误。

@{
 ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";

string quoteType = "Fee Estimate";
if (Model.Quote.QuoteType == "QuoteType")
{
}
}

在我一个视图的顶部代码中,ViewBag、Layout和Model都被下划线标出错误。

错误信息如下:

Error CS0103:当前上下文中不存在名称“Model” Quilgroup C:\,,\Index.cshtml 268

Error CS0234:命名空间“Microsoft.AspNet”中不存在类型或命名空间名称“Mvc”(是否缺少程序集引用?)Quilgroup C:...\Index.cshtml 1

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


2
很可能是web.config.cs文件中版本不匹配的结果。检查所有的版本和<bindingRedirect ...>元素,确保它们都匹配。 - user3559349
1
问一个愚蠢的问题:你是否按照ASP.NET网站上显示的步骤(http://www.asp.net/mvc/overview/releases/how-to-upgrade-an-aspnet-mvc-4-and-web-api-project-to-aspnet-mvc-5-and-web-api-2)升级了MVC4项目到MVC5?我知道它是针对Visual Studio 2013的,但这些更改仍然可能相关。 - Tieson T.
@michael 清理你的解决方案,然后将那些文件的属性设置为“复制到本地”= True。 - Krsna Kishore
我尝试了清理解决方案并将dll设置为本地副本,但没有帮助。 - Michael
4个回答

19

非常感谢。在将几个扩展程序加载到Visual Studio 2015社区版后,我遇到了这个问题,导致我的系统挂起。根据这里的各种问题和答案尝试了很多方法(如web.config编辑、devenv/resetuserdata等),但这个方法有效。 - andyb
在我的情况下,我不得不更新Visual Studio到最新版本,然后完成你提到的操作,这样就可以正常工作了。 - Muhammad Musavi

0

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

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


1
很不幸,我的网站已经更新到了MVC 5。我按照这个链接http://world.episerver.com/documentation/Items/Upgrading/EPiServer-CMS/8/upgrading-from-mvc-4-to-5/进行操作,但是没有帮助 :( - Michael

0

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

用记事本或notepad++打开.sln文件 然后检查程序集路径,它们是否正确映射? 如果不是,则进行正确映射。

然后清除所有临时文件。

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


0
也许您遗漏了引用部分,或者在调用 Model 时使用了小写的 model。
*<!--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"){
   }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接