5

我无法从用于运行后台任务的 Windows 运行时组件连接到 sqlite 数据库。我包括了所有需要的 dll,与我为主项目添加的方式相同。但它不起作用。显示大约 200 个错误..我关注了这篇文章:https
://github.com/praeclarum/sqlite-net/issues/104 但我仍然收到错误.. 2个这样的错误是:

错误 2 Windows 运行时类“SQLite.SQLiteException”具有无效的基类型“System.Exception”。不允许导出自定义异常类型。D:\MCM-22-Jan-2013\CCM\TileBackground\SQLite.cs 46 15 TileBackground

错误 92 类型“SQLite.TableMapping.Column”是嵌套类型。嵌套类型无法导出到 Windows 运行时。D:\MCM-22-Jan-2013\CCM\TileBackground\SQLite.cs 1390 16 TileBackground

4

2 回答 2

4

我今天遇到了这个问题,在https://github.com/praeclarum/sqlite-net/issues/104的帮助下,我能够解决它。基本上,在设置了 nuget 的 sqlite-net 之后,您有两件事要做。

  1. 对于 SQLite.cs 和 SQLiteAsync.cs,您需要将所有public类定义(第 5 列)更改为 ,internal
  2. 您需要将命名空间更改SQLite为 C# 项目正在使用的任何命名空间。

这样,此包装器将成为您的 C# 组件/Windows 运行时组件的一部分,并且不会被导出。

于 2013-02-23T08:24:42.813 回答
-1

我在后台任务中成功使用了 Sqlite。我在常规 Windows Store dll 中有 sqlite-net 源文件。我的主应用程序和后台任务项目都需要访问同一个 sqlite db,因此它们都引用了这个 dll。

似乎通过以这种方式构建源代码,我(无意中)避免了您所看到的问题。请注意,我不必调整 Sqlite-net 源文件来解决这个问题。

于 2013-02-11T14:15:31.807 回答