【发布时间】:2012-10-21 20:11:25
【问题描述】:
我无法在 Metro 应用程序中使用 SQLite 创建数据库。
说明: 我继续收到加载 SQLite3.dll 失败的运行时异常。
观察: 我观察到数据库目录永远不会在应用程序包的 LocalState 目录中创建。 观察到这一点后,我在运行时实现了文件路径创建,并将 sqlite3.dll 放到了预期的位置。
然而,我仍然收到加载 SQLite3.dll 失败的异常。
- 我的利用 SQLite 的 CRUD 代码编译良好。
- SQLite 依赖项(packages.config、SQLite.cs 和 sqlite3.dll)位于单独的 Metro 类库而不是应用程序的可执行项目中。
- sqlite3.dll 基于 ARM 处理器。
- sqlite3.dll 设置为内容,始终复制。
代码:
SQLiteAsyncConnection connection = new SQLiteAsyncConnection(DATABASE_DIRECTORY_NAME);
return await connection.CreateTableAsync<Service>();
请帮忙...
【问题讨论】:
-
\Projects\MyProject\DAL\Local\Infrastructure\sqlite3.dll
-
您是否尝试将 dll 与可执行文件放在同一文件夹中?
-
将 DAL 程序集添加到 Metro 应用程序可执行文件时成功。但是,当我将相同的程序集转储到通用 Metro 类库中时,数据库创建仍然失败。
-
也许我可以在 Metro 应用程序 exe 中创建数据库,然后尝试将 CRUD 操作委托给专门负责处理 DAL 操作的单独项目。
标签: c# xaml sqlite microsoft-metro