【问题标题】:ASHX file Parser error - could not create typeASHX 文件解析器错误 - 无法创建类型
【发布时间】:2013-01-27 03:41:52
【问题描述】:

我从我正在测试用于制作条形码的供应商处获得了一个示例应用程序,要安装在 IIS 上。

aspx 页面工作正常,但是当 aspx 页面调用 ashx 页面时,出现以下错误:

“/BarcodeSample”应用程序中的服务器错误。

解析器错误描述:在解析一个 服务此请求所需的资源。请查看以下内容 特定的解析错误详细信息并修改您的源文件 适当地。

解析器错误消息:无法创建类型 'TECIT.OnlineBarcodes.BarcodeHandler'。

来源错误:

第 1 行:

源文件:/BarcodeSample/BarcodeHandler.ashx 行:1

----------------------------------- --------------------------------- 版本信息:Microsoft .NET Framework 版本:2.0.50727.3634; ASP.NET 版本:2.0.50727.3634

为什么会这样?我怎样才能让这个 ashx 文件工作?

【问题讨论】:

  • 它是“网站”还是“Web 应用程序”?即,当您查看源文件夹中的文件列表时,您是否将“BarcodeHandler.ashx”“BarcodeHandler.ashx.cs”都视为源文件?如果没有,应用程序的/bin/ 文件夹中是否有一些包含编译文件的.dll 文件?
  • 这是一个网站。我所做的只是在默认网站下创建一个虚拟目录并将其指向示例应用程序位置。
  • 您是否也将虚拟目录变成了一个成熟的应用程序?
  • 我没有,但无论如何。进入虚拟目录属性,它有一个应用程序名称(BarcodeSample)的值,我认为这意味着它是一个完整的应用程序。
  • 另外,该应用程序在 VS 中运行正常。我在 VS 中打开它,它构建并运行正常。这意味着它不仅仅是简单的命名空间错误或某个地方的拼写错误......

标签: asp.net iis-6 ashx


【解决方案1】:

我通过解决方案资源管理器重命名了我的处理程序。

VS2017 建议只在 .cs 文件中更改名称,并导致 ashx 文件中的 class 属性不正确。

【讨论】:

    【解决方案2】:

    我发现一个简单的解决方法:

    • 将 .ashx.cs 代码放在 .ashx 文件的第一行之后
    • 删除 .ashx 文件第一行的 CodeBehind 属性
    • 删除代码隐藏文件

    【讨论】:

      【解决方案3】:

      检查从命名空间开始的类的全名(如果使用)。我遇到了同样的问题,并且在像这样更改类名后得到了修复:

      <%@ WebHandler Language="C#" Class="Namespace.ClassName" %>
      

      而不是这个:

      <%@ WebHandler Language="C#" Class="ClassName" %>
      

      【讨论】:

      • 这对我有用;您必须手动编辑 .ashx 文件并修复属性 Class="" 以指示命名空间和您的类名
      【解决方案4】:

      我对命名空间的命名有疑问,因此我必须编辑 example.ashx 文件(不是 example.ashx.cs)并在那里更改命名空间名称。

      【讨论】:

        【解决方案5】:

        添加下面的标签

        <%@ Assembly  Name="YourNameSpace.YourHandlerClass, Version=1.0.0.0, Culture=neutral, PublicKeyToken=90e3045b123af1c3" %>
        

        在您的 WebHandler 标签上方

        <%@ WebHandler Language="C#" CodeBehind="BarcodeHandler.ashx.cs" Class="TECIT.OnlineBarcodes.BarcodeHandler" %>
        

        【讨论】:

          猜你喜欢
          • 2015-09-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-11-04
          • 2021-05-07
          相关资源
          最近更新 更多