【问题标题】:SQLite with Metro - Unable to load sqlite3.dll带有 Metro 的 SQLite - 无法加载 sqlite3.dll
【发布时间】:2012-10-21 20:11:25
【问题描述】:

我无法在 Metro 应用程序中使用 SQLite 创建数据库。

说明: 我继续收到加载 SQLite3.dll 失败的运行时异常。

观察: 我观察到数据库目录永远不会在应用程序包的 LocalState 目录中创建。 观察到这一点后,我在运行时实现了文件路径创建,并将 sqlite3.dll 放到了预期的位置。

然而,我仍然收到加载 SQLite3.dll 失败的异常。

  1. 我的利用 SQLite 的 CRUD 代码编译良好。
  2. SQLite 依赖项(packages.config、SQLite.cs 和 sqlite3.dll)位于单独的 Metro 类库而不是应用程序的可执行项目中。
  3. sqlite3.dll 基于 ARM 处理器。
  4. 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


【解决方案1】:

我遇到了同样的错误。之后我将 sqlite3.dll 放在项目的根文件夹中 sqlite3.dll 设置为内容,始终复制。之后它就开始工作了

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-13
    • 2015-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多