sqlite.cs找不到sqlite3和社区

时间:2012-11-28 05:42:23

标签: sqlite dependencies windows-phone-8

我正在开发VS 2012 Express上的WP8应用程序。安装了SQLite for Windows Phone和Sqlite-net。 并导入SQLite for Windows Phone作为参考。

然而,当我试图建立项目时,它说:

错误1找不到类型或命名空间名称“社区”(您是否缺少using指令或程序集引用?)

错误4找不到类型或命名空间名称“Sqlite3”(您是否缺少using指令或程序集引用?)

我错过了什么?

5 个答案:

答案 0 :(得分:9)

我想您忘记将USE_WP8_NATIVE_SQLITE添加到条件编译符号中。

#if USE_CSHARP_SQLITE
using Sqlite3 = Community.CsharpSqlite.Sqlite3;
using Sqlite3DatabaseHandle = Community.CsharpSqlite.Sqlite3.sqlite3;
using Sqlite3Statement = Community.CsharpSqlite.Sqlite3.Vdbe;
#elif USE_WP8_NATIVE_SQLITE
using Sqlite3 = Sqlite.Sqlite3;
using Sqlite3DatabaseHandle = Sqlite.Database;
using Sqlite3Statement = Sqlite.Statement;

答案 1 :(得分:4)

我测试了它,Windows phone 8和Sqlite似乎有点问题。

解决问题的第一件事是,将“Community.Csharpsqlite.WP”引用添加到应用程序中。要执行此操作,请打开Nuget包管理器并键入“csharpsqlite”并在应用程序中安装生成的nuget包。这解决了您在问题中提到的上述问题。但是agian引发了另一个问题。 “Community.Csharpsqlite.WP”和“sqlite-net”中的SQLite.cs文件之间存在一些不兼容的方法。一种解决方案是手动修改SQLite.cs中的方法以解决不兼容问题。

或者,如果上述过程不适合你,那么请使用dotnetslackers link中提到的WP7 sqlite过程。在一个单独的项目中进行测试,希望这应该可行。

答案 2 :(得分:2)

我在没有csharpsqlite的Windows Phone 8上工作。

Peterhuene created a wrapper for SQLite which you can get from GitHub。不再需要csharpsqlite了。自述文件部分包含所需的所有信息。

有关如何设置的详细说明,也可以在CodeProject上找到here

答案 3 :(得分:1)

我假设您已遵循此post

中的说明

在帖子中有一条指令,您将c ++项目添加到名为 Sqlite的解决方案。您可以从github获取它。不可否认,这很容易隐藏在帖子中,很容易错过。

将c ++项目包含到您的解决方案后,您应该从C#项目中添加对它的引用。

添加参考 - >解决方案 - > 选择c ++“Sqlite”项目作为参考

之后,添加构建常量USE_WP8_NATIVE_SQLITE应该可以正常工作。

答案 4 :(得分:1)

在SQLite.cs中,有几个地方你会看到这样的行

#if USE_CSHARP_SQLITE
...
...
#elif USE_WP8_NATIVE_SQLITE
...
...

只需将#if USE_CSHARP_SQLITE内的代码替换为#elif USE_WP8_NATIVE_SQLITE内的代码,您就可以了。 或者也有一个简短的方法。转到properties-> build和after;添加" USE_WP8_NATIVE_SQLITE"并重建解决方案。这对我有用