asp.net ASHX文件分析器错误-无法创建类型

pgpifvop  于 2023-06-07  发布在  .NET
关注(0)|答案(6)|浏览(182)

我从一个供应商那里得到了一个示例应用程序,要安装在IIS上,我正在测试它是否能制作条形码。
aspx页面工作正常,但是当aspx页面调用ashx页面时,我得到以下错误:
“/”应用程序中的服务器错误。
分析器错误说明:分析服务此请求所需的资源时出错。请查看以下特定的解析错误详细信息并适当修改源文件。
分析器错误消息:无法创建类型“TECIT.OnlineBarcodes. BarcodeHandler”。
源错误:
第一行:<%@ WebHandler Language=“C#”CodeBehind=“BarcodeHandler.ashx.cs”Class=“TECIT.OnlineBarcodes.BarcodeHandler”%>
源文件:/BarcodeSample/BarcodeHandler.ashx行:1
------------------------------------------------------------------------------版本信息:Microsoft .NET Framework版本:2.0.50727.3634; ASP.NET版本:2.0.50319.3638
为什么会这样?我怎样才能让这个ashx文件工作?

okxuctiv

okxuctiv1#

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

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

而不是这样:

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

wbrvyc0a2#

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

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

s4n0splo3#

添加下方标签

<%@ 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" %>
ubof19bj

ubof19bj4#

我在命名空间的命名上遇到了一个问题,所以我必须编辑example.ashx文件(而不是example.ashx.cs)并更改那里的命名空间名称。

iyfamqjs

iyfamqjs5#

我通过解决方案资源管理器重命名了我的处理程序。
VS2017建议仅在.cs文件中更改名称,并在ashx文件中保留不正确的class属性。

mrphzbgm

mrphzbgm6#

在Visual Studio中,单击解决方案资源管理器中的通用处理程序,然后按F4选择“属性”。请确保您的build action是“compile”,而不仅仅是“content”。

相关问题