system.web中没有script的定义。

5

在命名空间'System.Web'中找不到类型或命名空间名称为'Script'的内容(您是否缺少程序集引用?)

以下行代码"System.Web.Script.Services.ScriptService"出现错误。

我已经包含了System.Web的命名空间。

4个回答

10

有两个问题:

  1. System.Web.Script.Services.ScriptServiceAttribute 存在于 System.Web.Extensions 组件中,而不是 System.Web。请确保在项目中引用了 System.Web.Extensions 组件。
  2. 当显式引用一个属性时,需要提供其完整名称 "ScriptServiceAttribute",而不仅仅是 "ScriptService"。

一旦我引用了 System.Web.Extensions,下面的代码就能够成功编译:

System.Web.Script.Services.ScriptServiceAttribute ss;

类型或命名空间“Extensions”在命名空间“System.Web”中不存在(是否缺少程序集引用?) 那是你所指的吗,迈克尔? - Jaspal
我不知道为什么当我输入system.web时,我的智能感知功能没有显示扩展。 - Jaspal
@Jaspal - 看起来Andrey回答了你的问题。 - Michael Petrotta

5

谷歌是你最好的朋友。MSDN排第二。

ScriptServiceAttribute类

命名空间:System.Web.Script.Services

程序集:System.Web.Extensions(在System.Web.Extensions.dll中)

你是否已添加对此dll的引用?


我觉得自己缺少一些非常基础的东西... 因为我是编程新手。 - Jaspal
命名空间可以跨多个 DLL 文件。如果您添加对 System.Web.Extensions.dll 的引用,您将在 System.Web 中看到 Script。如果您是编程方面的新手,也许应该从基础开始学习,而不是从高级任务开始?如果您想学习 .NET,您应该先阅读一些书籍,以便命名空间和 DLL 等内容不会成为谜团。 - Andrey
非常感谢,我明白了朋友们的意思。 添加引用是通过右键单击项目完成的 :p 干杯 - Jaspal

1
在您的web.config文件中添加targetFramework
<compilation debug="false" strict="false" explicit="true" **targetFramework="4.0"** />

当您将代码特别是Web方法从旧版本(例如.net 3.5)迁移到新版本时,通常会发生这种情况。

Arun


1

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