我开始使用System.Data.SQLite和“ SELECT load_extension(” path / to / zumero.dll“)”,但目前正在使用SQLite Windows Shell,因为我以为自己做错了。我在外壳程序中遇到的错误与尝试在C#世界中加载扩展时发生的错误相同。

sqlite> .load "windows\ext\x64\zumero.dll";
Error: The specified module could not be found.


指定绝对路径会导致相同的错误消息。当我使用依赖项遍历器打开它时,显然缺少以下依赖项:

API-MS-WIN-CORE-COM-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-ROBUFFER-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL
API-MS-WIN-SHCORE-SCALING-L1-1-0.DLL
DCOMP.DLL
IESHIMS.DLL


我觉得我在这里一定做错了事(对WinRT的依赖似乎很奇怪),但实际上看不到什么。 “最终的游戏”是在Win Server 2008 R2计算机上拥有一个C#Web应用程序,该应用程序将数据写入Zumero SQLite实例,该实例与许多移动设备同步。

干杯

最佳答案

我立即重现了您的问题,并有一段时间“必须做错事”的相同感觉,因为我知道这已经在XP以前的系统上进行了测试。原来这是字符串中反斜杠\的问题(ugh); SQLite使用它们进行转义。只需改用正斜杠/,或将它们加倍\\。我将在自述文件中添加一个明确的说明。

我同意WinRT依赖关系乍一看似乎很奇怪。看起来它们最终都是Zumero依赖wininet.dll的结果。 WinRT DLL位于诸如shell32.dll之类的系统模块下。有趣的是它们在系统中有多深,不过我猜最终这并不奇怪。

关于c# - 无法加载Zumero模块依赖项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18626075/

10-17 01:05