Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 将自定义本机库包含到托管UWP应用程序中以进行PInvoking_Visual Studio_Uwp_Pinvoke_Visual Studio 2017 - Fatal编程技术网

Visual studio 将自定义本机库包含到托管UWP应用程序中以进行PInvoking

Visual studio 将自定义本机库包含到托管UWP应用程序中以进行PInvoking,visual-studio,uwp,pinvoke,visual-studio-2017,Visual Studio,Uwp,Pinvoke,Visual Studio 2017,在我正在制作的UWP应用程序中,我需要包含一个特殊版本的SQLite,我自己从源代码处编译该版本,以便启用大多数系统中提供的基本库中不可用的功能 因此,在我的Visual Studio解决方案中: 通用Windows C#应用程序(主应用程序) 本机C/C++通用Windows动态库项目,带有SQLite合并源代码(正确编译) 一个C#Windows运行时组件库,我从主项目中引用它的原因超出了这个问题的范围(但我想提到它的存在,以防万一) 我的问题是:将自定义SQLite dll包含到我的应

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

因此,在我的Visual Studio解决方案中:

  • 通用Windows C#应用程序(主应用程序)
  • 本机C/C++通用Windows动态库项目,带有SQLite合并源代码(正确编译)
  • 一个C#Windows运行时组件库,我从主项目中引用它的原因超出了这个问题的范围(但我想提到它的存在,以防万一)
我的问题是:将自定义SQLite dll包含到我的应用程序包中以便在每个受支持的平台或体系结构中正确部署的正确方法是什么?

因为VisualStudio不允许我从主项目引用SQLite项目,所以直到现在我所做的是在SQLite项目的生成后操作中将生成结果(DLL文件)复制到主项目中,并在主项目中包含此DLL文件和内容生成操作。在我的开发计算机上运行该应用程序时,该功能运行良好。但是,当我尝试在移动仿真器中运行该应用程序时,我得到一个
System.DllNotFoundException
,因为无法找到SQLite DLL


我不太熟悉UWP环境的细节,也没有找到关于这个特定主题的任何文档(UWP中的PInvoking),所以,如果你有任何信息,那就很有意思了:(< / P>)你编译自己的C++ LIB版本吗?或者你能使用SQLite团队的一个正确签名的二进制文件吗?@ HenkHolterman我自己使用。预编译的版本不会公开我需要的一组特性,比如R树索引。你编译自己的C++ LIB版本,还是使用SQLite团队中的正确签名的二进制文件?@ HenkHolterman我自己使用。预编译版本没有公开我需要的一组特性,比如R-Tree索引