qpdf已开始在qpdf_init()上引发“外部组件引发了异常”

时间:2019-04-22 14:20:21

标签: .net iis qpdf

从今天开始,qpdf停止在我的服务器上工作。它已经运行了几周没有任何问题,但是今天我收到了“外部组件引发异常”错误,我的开发机器上没有这个问题,只有发布后的服务器上。

我已重新启动IIS,重新启动了整个计算机,回收了应用程序池,尝试了32位和64位版本(我尝试将程序加载为32位dll格式错误的错误),尝试了较旧版本的qpdf和现在我很沮丧,因为我什至没有错误消息的线索。

该项目当前位于vb.net中,用于重现该代码的代码如下:

'Importing the function here
<DllImport("qpdf21.dll", CharSet:=CharSet.Ansi, CallingConvention:=CallingConvention.Cdecl)>
    Private Shared Function qpdf_init() As IntPtr
    End Function

'try to use it here, works fine on dev, worked on server last week but now throws "External component has thrown an exception"

Public Shared Function LinearisePdf(fileName As String) As String

        Dim qpdf As IntPtr = qpdf_init()

end function

服务器抛出错误的堆栈跟踪如下:

External component has thrown an exception. at DocumentManager.PdfOcr.qpdf_init() at DocumentManager.PdfOcr.LinearisePdf(String fileName) in ...

关于如何继续解决该问题的任何想法,您可以获取有关错误原因的更多详细信息,或者尝试其他尝试?

服务器为:
Windows Server 2016版本1607(操作系统内部版本14393.2828)
Internet信息服务(版本10.0.14393.0)
我已经从here下载了qpdf v 8.4.0 msvc64

1 个答案:

答案 0 :(得分:0)

运行应用程序池的用户的计算机特权似乎已更改,一旦我们将其设置回计算机管理员,它将不再引发此异常。