如何将 dll 文件添加到 UWP 项目中

How to add dll file into a UWP Project

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

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

第二个项目(PdfiumViewer.Demo)是一个UWP Blank App,我在这里引用了第一个项目,这样我就可以在这个项目中使用它的用户控件。我将 pdfium.dll 包含在我的第二个项目的 bin 文件夹中。但是当我 运行 程序时,我得到一个异常 "Unable to load pdfium.dll".

现有类似的 Viewer 是为 .Net Windows Forms 和 WPF 应用程序开发的。

我试图通过右键单击引用 -> "Add reference" 添加 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 内等)

How to add dll file into a UWP Project

从这个导出,您需要将您的dll复制到项目文件夹并将类型设置为content。然后在正确的 cs 文件中,使用 DllImport 调用 DLL。

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

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

那么, (1).右键单击项目 -> "Add" -> "Add existing item" -> Select dll -> 从箭头中选择 "Add as Link" 按钮在添加按钮中。 (2).添加 dll 后,将属性更改为 "Content" 和 "Copy if newer".