2013-09-05 3 views
1

Я начал использовать System.Data.SQLite и «SELECT load_extension (« путь/to/zumero.dll »)», но в настоящее время я использую оболочку окон SQLite, потому что предположил, что я как-то это делаю неправильно. Я получаю ту же ошибку в оболочке, что и при попытке загрузить расширение в C# world.Неисправность загрузки зависимостей модуля Zumero

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 кажется странным), но не могу увидеть что. В «конечной игре» есть веб-приложение C# на машине Win Server 2008 R2, которая записывает данные в экземпляр SQLite Zumero, который синхронизируется с несколькими мобильными устройствами.

Приветствия

ответ

1

я воспроизвел вашу проблему сразу и имел такое же чувство «должен делать что-то неправильно» на некоторое время, потому что я знаю, что это был протестирован на системах еще в XP. Оказывается, это проблема обратных косых черт \ в строках (ugh); SQLite использует их для экранирования. Просто используйте косые черты / вместо этого или удвоьте их \\. Я собираюсь добавить явное примечание к README об этом.

Я согласен с тем, что зависимости WinRT кажутся странными на первый взгляд. Похоже, что все они в конечном итоге являются результатом зависимости Zumero от wininet.dll. DLL WinRT находятся там под системными модулями, такими как shell32.dll. Интересно, насколько глубоки в системе они, хотя, я думаю, в конечном счете это не слишком удивительно.

+0

У меня все еще есть ошибки с разными косыми чертами - вперед, двойная спина, абсолютный путь, приводящий к одной и той же ошибке. Я скопировал путь из оболочки sqlite и сделал список каталогов без проблем. Из корня zumero_client_sdk, который является подходящей папкой для использования? Я использую бит Win7-64 – Rob

+1

Я дал 32-битную DLL-попытку, и она работает без проблем - я определенно на 64-битной машине, хотя ... Мысли? – Rob

+0

Это бит-код кода, который должен соответствовать. 64-разрядная версия Windows может работать как с 64-битным, так и с 32-битным кодом, но весь код в одном процессе должен совпадать. Вы должны использовать 32-разрядную оболочку SQLite, поэтому Windows будет загружать только 32-разрядные DLL-файлы в этот процесс. Вы должны убедиться, что процесс оболочки SQLite 32-разрядный, используя диспетчер задач. Я думаю, что на Win7 он помещает '* 32' или подобный суффикс в имя процесса. Использование 32-разрядной оболочки вообще не должно быть проблемой, хотя вы могли бы создать себе 64-битную версию, если захотите. – Jayonas

Смежные вопросы