QuickPDF实例创建无法正常工作

时间:2014-09-17 20:35:16

标签: c# asp.net-mvc windows pdf

我无法在C#中使用PDFLibrary创建实例。

dll位于c:/项目目录/ lib / DebenuPDFLibraryDLL1016.dll

我生成了路径,并尝试对其进行硬编码。

var dllPath = AppDomain.CurrentDomain.BaseDirectory + "Lib\\DebenuPDFLibraryDLL1016.dll";

此方法假定使用SysWOW或System32 dirs。

PDFLibrary QP = new PDFLibrary("DebenuPDFLibraryDLL1016.dll");

还尝试了这个:

PDFLibrary QP = new PDFLibrary(dllPath);

我已经包含了导入文件:DebenuPDFLibraryDLL1016.cs 在构造函数中,dll.dllHandle始终为0.对象永远不会实例化。 这是创建dll实例的DebenuPDFLibraryDLL1016.cs文件中的部分。

    public PDFLibrary(string dllFileName)
    {
        dll = new DLL(dllFileName);
        if (dll.dllHandle != IntPtr.Zero)
        {
            instanceID = dll.DebenuPDFLibraryCreateLibrary();
            dll.RegisterForShutdown(instanceID);
        }
        else
        {
            dll = null;
        }
    }

有没有人知道为什么除了拥有错误的dll位置之外会发生这种情况?我已经卸载/重新安装了几次快速pdf数据。

根据他们的文档,它应该根据您的应用程序需求存在于SysWOW或System32文件夹中。

我认为问题是dll,服务器将网站设置为错误的应用程序类型。我会尝试改变它。

1 个答案:

答案 0 :(得分:0)

让我在这里添加我的评论,因为我似乎被告知我没有阅读文档。

我已阅读文档并在论坛中发布。

我解决了这个问题。这是因为服务器没有应用程序设置来使用我试图使用的DLL。它是一个32位DLL,服务器是64位。几分钟前我才知道这件事。一旦我将DLL的引用更改为64位版本,它就可以工作。