我正在开发VS 2012 Express上的WP8应用程序。安装了SQLite for Windows Phone和Sqlite-net。 并导入SQLite for Windows Phone作为参考。
然而,当我试图建立项目时,它说:
错误1找不到类型或命名空间名称“社区”(您是否缺少using指令或程序集引用?)
和
错误4找不到类型或命名空间名称“Sqlite3”(您是否缺少using指令或程序集引用?)
我错过了什么?
答案 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"并重建解决方案。这对我有用