Obtendo um sistema SpatiaLite + SQLite para x64 c #

Preciso criar e acessar um banco de dados SQLite estendido por espaço em janelas x64.

Eu baixei a versão mais recente 1.0.92.0 chamadasqlite-netFx45-static-binary-bundle-x64-2012-1.0.92.0.zip doSystem.Data.SQLite. É referenciado no meu projeto do Visual Studio (2012) e parece funcionar bem por si só.

Eu também tenho o último x64 pré-compiladospatiaLite versão 4.1.1 chamada spatialite-4.1.1-DLL-win-amd64.zip Todas as DLLs do spatialite estão presentes no diretório de execução.

Quando tento carregar a extensão:

using (var conn = new SQLiteConnection("Data Source=\"" + _sqLiteFullName + "\""))
{
    conn.Open();
    conn.EnableExtensions(true);
    conn.LoadExtension("libspatialite-4.dll");
    ...
}

Eu recebo umAccessViolationException (Tentativa de ler a memória protegida. Isso geralmente indica que outra memória está corrompida) noLoadExtension() linha.

Percebo quando olhei comDesconstrutor PE (software que determina o bitnewss da dll / exe), ele diz que minha cópia do System.Data.SQLite.dll (do pacote x64) é na verdade 32 bits. Esse é o problema?

Como remediar isso?

Como mais alguém conseguiu o spatiaLite trabalhando em x64?

questionAnswers(3)

yourAnswerToTheQuestion