名称空间'System.Web.Mvc'中不存在'Ajax'

时间:2014-11-07 15:10:20

标签: ajax asp.net-mvc asp.net-mvc-5

我是ASP.NET MVC 5的新手,我想建立一个小项目来解决一些问题。 当我在浏览器中打开项目时,我收到一条错误消息:

Compiler Error Message: CS0234: The type or namespace name 'Ajax' does not exist in the namespace 'System.Web.Mvc' (are you missing an assembly reference?)

Source Error:
Line 22:     using System.Web.WebPages; 
Line 23:     using System.Web.Mvc;      
Line 24:     using System.Web.Mvc.Ajax;  
Line 25:     using System.Web.Mvc.Html;  
Line 26:     using System.Web.Routing;

经过一些谷歌搜索i found out,您必须将“复制本地”更改为true,但我看到它已在我的项目中设置为true。即使在清理和重建之后,此错误仍然存​​在。

那么有没有人知道可能导致此错误的原因?

8 个答案:

答案 0 :(得分:88)

我认为您正在引用旧版本的System.Web。右键单击vs中的项目并选择“Manage NuGet Packages”,然后搜索Asp.Net MVC并单击“安装”。这将使用Ajax安装正确的System.Web。如果不需要,您可以删除下载的其他六个二进制文件。

答案 1 :(得分:16)

使用MVC 5.2.3,我遇到了同样的问题;它是突如其来的(这个错误来自于没有进行任何更改的任何地方,因为该应用程序正在编译并且之前运行顺利)

<强>修正:

  • 右键点击解决方案,然后选择“管理NuGet包 溶液
  • 选择卸载按钮
  • 卸载ASP.NET MVC
  • 取消选择使用ASP.NET MVC的项目 - 点击确定
  • 现在通过在NuGet窗口下找到它来安装ASP.net MVC 在线选项卡,并为取消选择的项目安装它 先前
  • 这应该像我一样解决问题。享受!

答案 2 :(得分:4)

在NuGet程序包管理器控制台中运行Install-Package Microsoft.AspNet.Mvc对我有用。

答案 3 :(得分:1)

将System.Web.MVC CopyLocal设置为True 这对我有帮助

答案 4 :(得分:0)

以管理员模式重新打开Visual Studio。

答案 5 :(得分:0)

我从NuGet包管理器控制台更新了MVC并解决了我的问题

答案 6 :(得分:0)

右键单击解决方案,然后选择&#34;管理解决方案的NuGet包&#34; 选择“卸载”按钮卸载ASP.NET MVC 取消选择使用ASP.NET MVC的项目 - 单击“确定” 现在通过在Online选项卡下的NuGet窗口中找到它来安装ASP.net MVC,并为之前取消选择的项目安装它 这应该解决问题,因为它对我来说。享受!

答案 7 :(得分:0)

Navigate to References and right click on the system.web.mvc

查看属性,并将“本地复制”更改为True而不是False。

enter image description here

除了在Package Manager控制台中运行update package命令之外,这还为我提供了窍门。