我无法在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,服务器将网站设置为错误的应用程序类型。我会尝试改变它。
答案 0 :(得分:0)
让我在这里添加我的评论,因为我似乎被告知我没有阅读文档。
我已阅读文档并在论坛中发布。
我解决了这个问题。这是因为服务器没有应用程序设置来使用我试图使用的DLL。它是一个32位DLL,服务器是64位。几分钟前我才知道这件事。一旦我将DLL的引用更改为64位版本,它就可以工作。