2013-02-11 29 views
5

我无法从Windows运行时组件连接到sqlite数据库,用于运行后台任务.. 我包括所有的dll都需要以相同的方式我加为主营项目.. 但它不工作.. 显示了一些错误200 .. 我跟着这个帖子:https://github.com/praeclarum/sqlite-net/issues/104
但我仍然得到错误.. 2这样的错误:如何从Windows运行时组件连接到sqlite数据库用于运行后台任务

错误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

回答

-1

我在后台任务中成功使用Sqlite。我在常规的Windows应用商店DLL中有sqlite-net源文件。我的主应用程序和我的后台任务项目都需要访问相同的sqlite数据库,因此他们都引用此dll。

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

4

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

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

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