8

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

但是,当我尝试构建项目时,它说:

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

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

我错过了什么?

4

5 回答 5

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;
于 2013-03-17T16:01:43.157 回答
4

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

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

或者,如果上述过程不适合您,请使用dotnetslackers 链接中提到的 WP7 sqlite 的过程。在一个单独的项目中测试它,希望这应该有效。

于 2012-11-28T07:51:36.410 回答
2

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

Peterhuene 为 SQLite 创建了一个包装器,您可以从 GitHub 获得它。不再需要 csharpsqlite。自述文件部分包含所需的所有信息。

关于如何设置它的详细描述也可以CodeProject 上找到。

于 2013-05-26T20:30:42.477 回答
1

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

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

只需将#if USE_CSHARP_SQLITE 中的代码替换为#elif USE_WP8_NATIVE_SQLITE 中的代码即可。或者还有一个简短的方法。转到属性-> 构建和之后;添加“USE_WP8_NATIVE_SQLITE”并重建解决方案。这对我有用

于 2014-07-04T17:13:19.043 回答
1

我假设您按照这篇文章中的说明进行操作

在帖子中有一条说明,您将 c++ 项目添加到名为Sqlite 的解决方案中。你从 github 上得到它。诚然,这在帖子中隐藏得很好,很容易错过。

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

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

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

于 2013-10-18T15:26:00.447 回答