将自定义本机库包含到PInvoking的托管UWP应用程序中

时间:2017-07-13 09:28:23

标签: visual-studio uwp pinvoke visual-studio-2017

在我正在制作的UWP应用程序中,我需要包含一个特殊版本的SQLite,我自己从源代码编译,以便启用大多数系统中提供的基本库中没有的功能。

所以我在我的Visual Studio解决方案中:

  • 通用Windows C#应用程序(主应用程序)
  • 本机C / C ++通用Windows动态库项目,带有SQLite合并源(正确编译)
  • 我从主项目引用的C#Windows运行时组件库,其原因超出了本问题的范围(但我想提及它存在,以防万一)

我的问题是:将自定义SQLite dll包含到我的应用程序包中的正确方法是什么,以便在每个支持的平台或架构中正确部署?

因为Visual Studio不允许我从主项目中引用SQLite项目,所以到目前为止我所做的是将构建结果(DLL文件)复制到SQLite的后构建操作的主项目中项目,并使用内容构建操作将此DLL文件包含在主项目中。在我的开发计算机上运行应用程序时,这很好用。但是,当我尝试在移动模拟器中运行应用程序时,我得到一个System.DllNotFoundException,因为找不到SQLite DLL。

我对UWP环境细节并不熟悉,而且我没有找到任何关于这个特定主题的文档(在UWP中进行PInvoking),所以如果您有任何信息,我将非常感激: )

0 个答案:

没有答案