asp.net on mono:如何添加对程序集的引用

时间:2009-08-06 14:48:31

标签: c# asp.net apache mono

非常基本的问题 - 但我找不到答案。 我有一个位于asmx文件中的asp.net Web服务。这应该从帮助程序库中调用一个函数。 在Visual Studio中使用不同的asmx文件一切正常 - 我只需将程序集添加到此项目的依赖项中。

Altough我已将程序集复制到Web服务器上的bin子目录中(我认为这是我读过的描述)它会返回以下错误消息:

  '/'应用程序中的服务器错误   CS0246:类型或命名空间名称   找不到“XXXFunctions”。是   你错过了使用指令或   装配参考?

     

描述:HTTP 500.错误   处理请求。

     

堆栈追踪:

     

System.Web.Compilation.CompilationException:   CS0246:类型或命名空间名称   XXXFunctions' could not be found. Are you missing a using directive or an assembly reference? at System.Web.Compilation.AssemblyBuilder.BuildAssembly (System.Web.VirtualPath virtualPath, System.CodeDom.Compiler.CompilerParameters options) [0x00000] at System.Web.Compilation.AssemblyBuilder.BuildAssembly (System.Web.VirtualPath virtualPath) [0x00000] at System.Web.Compilation.BuildManager.GenerateAssembly (System.Web.Compilation.AssemblyBuilder abuilder, System.Collections.Generic.List 1   buildItems,System.Web.VirtualPath   virtualPath,BuildKind buildKind)   [0x00000]在   System.Web.Compilation.BuildManager.BuildAssembly   (System.Web.VirtualPath virtualPath)   [0x00000]在   System.Web.Compilation.BuildManager.GetCompiledType   (System.String virtualPath)[0x00000]   在   System.Web.Services.Protocols.WebServiceHandlerFactory.GetHandler   (System.Web.HttpContext上下文,   System.String verb,System.String url,   System.String filePath)[0x00000]
  在   System.Web.Script.Services.ScriptHandlerFactory.GetHandler   (System.Web.HttpContext上下文,   System.String requestType,   System.String url,System.String   pathTranslated)[0x00000] at   System.Web.HttpApplication.GetHandler   (System.Web.HttpContext上下文,   System.String url,Boolean   ignoreContextHandler)[0x00000] at   System.Web.HttpApplication.GetHandler   (System.Web.HttpContext上下文,   System.String url)[0x00000] at   System.Web.HttpApplication + c__Iterator2.MoveNext   ()[0x00000]

这是我正在使用的asmx文件:

<%@ Assembly name="System.Web.Extensions" %>
<%@ Assembly name="System.Runtime.Serialization" %>
<%@ Assembly name="System.ServiceModel.Web" %>
<%@ WebService Language="C#" Class="FCWService.FCWService" %>

using System;
using System.Collections;
using System.Collections.Generic;
using System.Web;
using System.Web.Services;
using System.Web.Script.Services;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;
using System.IO;
using System.Text;

namespace FCWService
{
    [WebService (Namespace = "http://tempuri.org/NumberService")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [ScriptService]
    public class FCWService : System.Web.Services.WebService
    {
        [WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public XXXFunctions.Data GetData(double length)
        {
            return XXXFunctions.Functions.GetData(length);
        }
    }
}

有什么想法吗?

<小时/> 回答: 我发现有一个&lt;%@ Assembly name =“XXXFunctions”%&gt; asmx页面顶部缺少指令。

2 个答案:

答案 0 :(得分:1)

你确定你复制了你需要的一切吗?似乎有一个命名空间或称为XXXFunctions的东西在服务器上缺失。

答案 1 :(得分:0)

回答:我发现有一个&lt;%@ Assembly name =“XXXFunctions”%&gt; asmx页面顶部缺少指令。