我最近安装了 Visual Studio 2013。从网上下载了一个示例项目后,当我运行它时,它给了我以下错误 -
The type or namespace name 'Mvc' does not exist in the namespace 'System.Web' (are you missing an assembly reference?)
如何克服这个错误?
您的错误根源可能是您没有引用MVC框架库。一个简单的解决方案是通过 Nuget 添加此引用。 MVC 库将安装在您的
bin
目录中,如果需要,所有引用都将添加到您的项目中。
浏览 MVC 包(工具 -> Nuget 包管理器 -> 管理解决方案的 Nuget 包)或使用 Nuget 控制台(工具 -> Nuget 包管理器 -> 包管理器控制台)输入
Install-Package Microsoft.AspNet.Mvc
安装它
。您可以在 AspNet.Mvc 的官方 Nuget 页面上找到更多信息。
我的解决方案是简单地打开 nuget 包管理器控制台并运行命令
update-package -reinstall Microsoft.AspNet.Mvc
有时,包版本冲突会成为一个问题,如果您安装了 MVC 包,则会显示命名空间错误。
这是我解决问题的方法:
因此,这将为您的包提供一个全新的开始,您将拥有所有新的 MVC 引用并且没有错误。
2022 年答案:
删除该行:
using System.Web.Mvc;
并替换为:
using Microsoft.AspNetCore.Mvc;
在项目中包含 MVC 控制器和模型解决了该问题。
我们有时会遇到这些错误消息,涉及已安装的 Nuget 软件包。当项目或解决方案从源代码管理提取到新文件夹时,通常会发生这种情况。 Visual Studio 显示错误:
命名空间“System.Web”中不存在类型或命名空间名称“Mvc”(您是否缺少程序集引用?)
但是,在代码中,带有
using System.Web.Mvc
的行下面确实有红色波浪线,但文本也是全白的,表明 VS
确实识别了命名空间。 我们找到的解决方案是:
关闭 Visual Studio
bin
obj
文件夹。在 Visual Studio 中重新打开项目/解决方案,然后重建所有项目。