【问题标题】:Missing 'Ajax' does not exist in the namespace 'System.Web.Mvc'命名空间“System.Web.Mvc”中不存在缺少的“Ajax”
【发布时间】:2015-06-12 21:30:13
【问题描述】:

我正在尝试书中的示例。第一个非常简单.. 视图中的几行代码 (MVC)。

我运行代码但收到错误:

编译错误

描述:在编译服务此请求所需的资源期间发生错误。请查看以下特定错误详细信息并适当修改您的源代码。

编译器错误消息:CS0234:名称空间“System.Web.Mvc”中不存在类型或名称空间名称“Ajax”(您是否缺少程序集引用?)

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;

Source File: c:\Users\Aindriu\AppData\Local\Temp\Temporary ASP.NET Files\root\6882868f\b519e811\App_Web_index.cshtml.a8d08dba.h-o4pos5.0.cs    Line: 24 

我解决了这个问题 - 我在解决方案属性(右侧)中右键单击了解决方案并选择了管理 Nuget 包 - 我在右上角的搜索栏中输入了 MVC - 并安装了 MVC .... 它安装了一个完整的负载文件和我的程序工作......但它向我正在处理的解决方案添加了代码......

有没有一种简单的方法来解决这个错误?我不想每次创建 MVC 程序时都必须继续这样做......

【问题讨论】:

  • Visual Studio 版本? MVC 版本?
  • 我正在使用 Visual Studio 2013 Ultimate。 MVC 是 4.5.1
  • 这本书是关于什么版本的 MVC?
  • 另外,请确保您引用了正确的程序集。见msdn.microsoft.com/en-us/library/…
  • 如何引用正确的程序集?有没有办法可以永久安装 MVC?

标签: asp.net-mvc


【解决方案1】:

如果您使用的是 Visual Studio,请从项目的 References 中选择 System.Web.Mvc dll。在属性窗口Copy Local属性设置为True

您甚至可以手动将必要的引用复制到 bin\Debugbin\Release 目录(无论您使用哪个目录),但将其设置为由 Visual 自动发生工作室要好得多。

【讨论】:

    【解决方案2】:

    对于较新版本的 MVC,首选方法是使用 NuGet 包管理器。在:查看 > 其他窗口 > 包管理器控制台。类型:

    Install-Package Microsoft.AspNet.Mvc -Version 4.5.1
    

    您应该为每个 Mvc 项目执行此操作。

    【讨论】:

    • 感谢您的回复!只是一个问题......每次创建新的 MVC 解决方案时,我是否需要添加 MVC 包(如上面或通过管理 Nuget 包)?谢谢
    • 是的,每次创建新解决方案时都需要添加依赖项。很酷的是,每个解决方案都有自己的一组依赖项,因此当您部署到 Windows Server 时,一切都可以正常工作。无需修补 Windows 安装或基础服务器构建。
    • 我遇到了一些麻烦。我已经加载了另一个示例练习,它抛出了一个错误:编译器错误消息:CS0234:名称空间中不存在类型或名称空间名称“Ajax” System.Web.Mvc'(您是否缺少程序集引用?)...我尝试像以前一样添加 MVC,但它不起作用...我阅读尝试将 set System.Web.Mvc 属性“Copy Local”更改为是的,但我看不到在哪里
    猜你喜欢
    • 2015-01-04
    • 2012-06-19
    • 1970-01-01
    • 2014-12-11
    • 1970-01-01
    • 2018-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多