2

我正在为 Pdfium 库(pdfium.dll)构建一个 UWP 查看器。pdfium.dll 是一个 C++ 类库。在我的 Visual Studio 解决方案中,我有两个 UWP 项目。First Project(PdfiumViewer) 是一个 UWP 类库,它从 pdfium.dll 导入函数并创建用户控件。例如:

[DllImport("pdfium.dll")]
public static extern void FPDF_AddRef();

第二个项目(PdfiumViewer.Demo)是一个 UWP 空白应用程序,我在这里引用了第一个项目,以便我可以在这个项目中使用它的用户控件。我将 pdfium.dll 包含在我的第二个项目的 bin 文件夹中。但是当我运行程序时,我得到一个异常说“无法加载 pdfium.dll”。

为 .Net Windows Forms 和 WPF 应用程序开发了一个现有的类似查看器。

我试图通过右键单击参考 - >“添加参考”来添加 pdfium.dll 作为参考。在所有这些情况下(.Net WinForm、.Net WPF、UWP),添加它给了我一个错误。(错误:无法添加对 ....\pdfium.dll 的引用。请确保该文件可访问,并且它是有效的程序集或 COM 组件)

我以类似的方式(添加到 bin 文件夹)将 pdfium.dll 添加到 .Net WinForm 和 .Net WPF 中并运行它们。两种类型的应用程序查看器都运行良好。

我的问题: 由于 UWP 应用程序在沙箱中运行,是否有特殊位置可以添加此 dll(pdfium.dll)?

注意:我尝试将文件添加到不同的位置。(在 APPX 文件夹内、在 bin\Debug 文件夹内、在 bin\Debug\x64 内等)

4

2 回答 2

5

将 dll 添加到 VS UWP 项目时,请按照以下步骤操作。

首先,使用依赖检查器检查 dll 并找出 dll 是否需要额外的依赖项。(例如任何其他 dll)

然后,(1)。右键单击项目->“添加”->“添加现有项目”->选择 dll ->从添加按钮的箭头中选择“添加为链接”按钮。(2)。添加 dll 后,将属性更改为“内容”和“如果较新则复制”。

于 2020-02-25T05:37:20.543 回答
2

How to add dll file into a UWP Project

Derive from this case, you need copy your dll to the project folder and set the type as content. Then in the proper cs file, using DllImport to PInvoke the dll.

于 2019-12-19T08:23:19.033 回答