1

大约一天以来,我一直在尝试消除三个编译器错误。

错误如下:

> Error 1   The type or namespace name 'Script' does not exist in the
> namespace 'System.Web' (are you missing an assembly
> reference?)   D:\WebData\Intranet\depts\MSO\msow_reports\App_Code\SearchPract.cs  7   18  http://localhost/depts/MSO/msow_reports/
> Error 2   The type or namespace name 'ScriptService' could not be found
> (are you missing a using directive or an assembly
> reference?)   D:\WebData\Intranet\depts\MSO\msow_reports\App_Code\SearchPract.cs  14  2   http://localhost/depts/MSO/msow_reports/
> Error 3   The type or namespace name 'Script' does not exist in the
> namespace 'System.Web' (are you missing an assembly
> reference?)   D:\WebData\Intranet\depts\MSO\msow_reports\App_Code\SearchPract.cs  26  17  http://localhost/depts/MSO/msow_reports/

该项目是一个 .net 3.5 项目,我正在尝试将其导入 Visual Studio 2010。我已尝试更新到 .net 4 并将其保留为 .net 3.5。我的理解是 Script 和 ScriptService 应该在 System.Web.Extensions dll 中。添加对此程序集的引用似乎不起作用。

请注意我的 Web.config 文件中的以下摘录:

<compilation debug="true">
  <assemblies>
    <add assembly="System.Management, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
    <add assembly="eWorld.UI, Version=2.0.6.2393, Culture=neutral, PublicKeyToken=24D65337282035F2"/>
    <add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
    <add assembly="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
    <add assembly="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
    <add assembly="System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Web.Extensions.Design, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add assembly="CrystalDecisions.CrystalReports.Engine, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
    <add assembly="CrystalDecisions.ReportSource, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
    <add assembly="CrystalDecisions.Shared, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
    <add assembly="CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
  </assemblies>
</compilation>

不愉快的代码如下:

using System;
using System.Collections.Generic;
using System.Web.Services;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Web.Script.Services;

/// <summary>
/// Summary description for SearchPract
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
// [System.Web.Script.Services.ScriptService]
public class SearchPract : System.Web.Services.WebService {

    public SearchPract () {

        //Uncomment the following line if using designed components 
        //InitializeComponent(); 
    }

    [System.Web.Services.WebMethod]
    [System.Web.Script.Services.ScriptMethod]
    public string[] GetPracts(string prefixText, int count) 

我尝试将 System.Web.Extensions.dll 和 System.Web.Extensions.Design.dll 添加到 Bin 文件夹以及 web.config 文件。浏览“我的解决方案”时,System.Web.Extensions 程序集仍未显示在对象浏览器中。我假设这是问题的症结所在。在这一点上,我不知道从这里尝试什么。

我想知道我是否忽略了一些明显的东西。

请让我知道我应该提供哪些其他信息。

4

2 回答 2

1

使用 .NET 2.0 版,您可以添加由 Microsoft 开发的 System.Web.Extensions.DLL 1.0.61231.0 版,它适用于我在 mono 最新版本上使用 ASP .net 2.0 的项目。

于 2014-04-27T06:13:38.827 回答
0

MSDN文档,

ScriptService 来自 .NET 版本 3.5。

如果您的项目的版本低于上述版本,那么显然它将永远无法工作。

要使其正常工作,您需要将项目的版本更改为更高版本。请按照以下步骤操作:

myProject Properties --> Application --> Target Framework --> Set it to >3.5
于 2013-01-02T07:18:43.237 回答