AppHarbor-/order/rpc.ashx(1):错误ASPPARSE:无法创建类型';web.order

本文关键字:order 创建 类型 web 错误 ashx rpc AppHarbor- ASPPARSE | 更新日期: 2023-09-27 18:10:16

这是我第一次尝试在appharbor 上运行项目

该解决方案引用了许多其他项目dll。该构建在本地运行,我正在使用git将其推送到appharbor。

当构建失败时,我收到以下消息:/order/rpc.ashx(1(:错误ASPPARSE:无法创建类型"web.order.rpc".

[HttpParseException]:无法创建类型"web.order.rpc"。

位于System.Web.UI.SimpleWebHandlerParser.GetType(字符串类型名称(

位于System.Web.UI.SimpleWebHandlerParser.GetTypeToCache(Assembly-builtAssembly(

位于System.Web.Compilation.BuildManagerHost.PrecompileApp(ClientBuildManagerCallback回调,List`1 excludedVirtualPaths(

位于System.Web.Compilation.ClientBuildManager.PrecompileApplication(ClientBuildManagerCallback回调,Boolean forceCleanBuild(

位于System.Web.Compilation.ClientBuildManager.PrecompileApplication(ClientBuildManagerCallback回调(

位于System.Web.Compilation.Precompiler.Main(String[]args(

源代码非常简单:

命名空间web.order

public class rpc : IHttpHandler
{
    public void ProcessRequest(HttpContext context)
    {
        var Response = context.Response;
        var Request = context.Request;
        Response.Expires = 0;
        Response.ContentType = "text/plain";
        Response.Write("{}");
    }
    public bool IsReusable
    {
        get
        {
            return false;
        }
    }
}

}

如有任何帮助,将不胜感激

AppHarbor-/order/rpc.ashx(1):错误ASPPARSE:无法创建类型';web.order

好的,我在预编译一个包含子Web应用程序的网站时遇到了与您相同的问题。

解决问题的检查清单是:

  1. 确保ashx的dll在bin目录中
  2. 如果使用代码隐藏文件,请确保cs文件包含在文件夹App_code中
  3. 您可以尝试在本地编译文件夹,以便查看是否缺少什么:

c: ''windows''Microsoft.NET''Framework64''v4.0.30119''aspnet_compiler.exe-v/-p"c:''your''webs''folder"-errorstack

此命令可帮助您检查可能出现的错误。

我的情况有点不同。在远程服务器(IIS 7.5,我不使用appharbor(中,我检查了创建该项目的网站,使用:

c: ''windows''system32''inetsrv''appcmd列出站点

然后我检查了哪个是我想要预编译的网站的id。在我的样本中是5,然后我运行:

c: ''windows''Microsoft.NET''Framework64''v4.0.30119''aspnet_compiler.exe-m LM/W3SVC/5/ROOT-c-errorstack

它编译了。

另一种编译方法是将包含ashx的dll从子应用程序文件夹复制到主站点bin文件夹,但这可能会引发问题和依赖关系问题。