分析器错误消息:无法创建类型' WebService.asmx.cs'

时间:2012-03-12 15:57:17

标签: c# asp.net web-services asmx webmethod

我正在关注this教程,以便在用户输入时从SQL服务器创建动态搜索结果。它告诉我创建一个.asmx文件,这不是我之前曾经使用过的格式。我现在有一个.asmx和.asmx.cs文件。这是我到目前为止的代码:

WebService.asmx.cs:

public class SearchService : WebService
{
  [WebMethod]
  public searchResult[] Search(string txtSearch)
  {
//Declare collection of searchResult
        List resultList = new List();
        var db = Database.Open("mPlan");
        var result = db.Query("SELECT * from Users where Username like '%" + txtSearch + "%'");
       try
       {
           foreach(var record in result)
            {
               searchResult result = new searchResult();
               result.Username = ["Username"].ToString();
               resultList.Add(result);
           }
           return resultList.ToArray();
       }
       catch
       {
           return null;
       }
  }}

WebService.asmx:

<%@ WebService Language="C#" class="WebService" %>
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.Services;
using System.Data.SqlClient;

[System.Web.Script.Services.ScriptService]
[System.Web.Script.Services.GenerateScriptType(typeof(searchResult))]
public class searchResult
{
    public string Title;
    public string img;
    public string href;
}

这是我的错误消息,有人可以帮我这个吗?

  

分析程序错误消息:无法创建类型“WebService.asmx.cs”

它突出显示了WebService.asmx的第1行作为错误的来源。

3 个答案:

答案 0 :(得分:5)

当我的项目输出目录不是bin \

时,我使用Visual Studio Development Server遇到此错误

我的一个DLL有不同平台的版本(x86,x64),所以我创建了相应的配置,默认输出目录如下:“bin \ x86 \ Dedug”,“bin \ x64 \ Debug”。但Visual Studio开发服务器仍尝试从bin \文件夹加载二进制文件,当然也失败了。

我通过在调试配置中指定bin \ output文件夹来修复此问题。

答案 1 :(得分:4)

class="..."需要一个完全限定的类名,而不是文件名。

答案 2 :(得分:2)

正确的类名是“SearchService”。您指定了文件名。