asp.net core 3.1 sqlite找不到指定的模块

问题描述

在ASP.NET Core 3.1应用程序的sqlite中加载mod_spatialite扩展时遇到了一些麻烦。当我运行下面的代码时,出现以下错误:“ SQL逻辑错误找不到指定的模块。”

string dbFile = "D:\\Temp\\spatialtest.db";
string connectString = $"Data Source={dbFile};Version=3;";

SQLiteConnection connection = new SQLiteConnection(connectString);
connection.Open();
connection.EnableExtensions(true);
connection.LoadExtension("mod_spatialite");

我引用了NuGet的System.Data.Sqlite(https://www.nuget.org/packages/System.Data.SQLite/1.0.113.1)包。我在http://www.gaia-gis.it/gaia-sins/中找到了用于在spacespaceite中加载的软件包。我尝试了当前稳定的4.3.0a和新的5.0.0-RC1中的软件包,包括amd64和x86二进制文件。

奇怪的是,当我将代码复制到.NET Core控制台应用程序或.NET Core类库(CL),然后从控制台应用程序引用CL时,它确实起作用。

我不明白为什么它不能在Console应用程序中工作,而不能在ASP.NET应用程序中工作。我想念什么吗?任何帮助将不胜感激!

编辑:将测试项目添加到Github:https://github.com/RogierB/SQLiteSpatialiteTest

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)