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;
}
}
}
}
如有任何帮助,将不胜感激
好的,我在预编译一个包含子Web应用程序的网站时遇到了与您相同的问题。
解决问题的检查清单是:
- 确保ashx的dll在bin目录中
- 如果使用代码隐藏文件,请确保cs文件包含在文件夹App_code中
- 您可以尝试在本地编译文件夹,以便查看是否缺少什么:
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文件夹,但这可能会引发问题和依赖关系问题。