安装了SQLite扩展,无法在服务引用对话框中找到它?

时间:2014-03-16 15:41:48

标签: c# sqlite windows-phone-8 vsix

我安装了Windows Phone 8的SQLite扩展,我确实检查了 Global 复选框以进行全局安装。但是,当我尝试从我的Windows Phone 8项目添加对它的引用时,我找不到它。我看了 Assemblies - >扩展程序 Windows Phone - >扩展程序并未列出。

在为WinRT安装SQLite扩展后,我在WinRT项目中执行了相同的操作,我确实在 Windows - >下看到了它。扩展

我该怎么做才能解决这个问题,以便我可以正确引用Windows Phone 8 SQLite扩展程序?

1 个答案:

答案 0 :(得分:3)

注意:当我运行VS2013时,我没有在Windows中看到SQLite扩展 - >扩展名列表。但是当我运行VS2012时,我确实看到了它。

以下是我必须要做的事情,请参阅该引用列表中的SQLite for Windows Phone:

  • 备份SDKExtension清单文件并对其进行修改,以将支持的最低版本从“11”更改为“12”。注意,这可能会导致VS2012出现问题,我还没有测试过。我还添加了一个FileReference标记来引用sqlite3 DLL只是为了安全起见。在我的系统上,清单文件位于:

C:\ Program Files(x86)\ Microsoft SDKs \ Windows Phone \ v8.0 \ ExtensionSDKs \ SQLite.WP80 \ 3.8.4.1

  • 通过使用 administrator priveleges 打开命令提示符windows(cmd.exe)来编辑文件,并通过从命令行运行记事本来编辑文件SDKManifest.xml。这是在我的系统上运行的更新文件内容:

    <?xml version =“1.0”encoding =“utf-8”?> <文件列表     DisplayName =“SQLite for Windows Phone”     ProductFamilyName = “SQLite.WP80”     MoreInfo = “http://www.sqlite.org/”     MinVSVersion = “12.0”     SupportsMultipleVersions = “错误”     SupportedArchitectures = “86; ARM” >     < File Reference =“sqlite3.dll”/> < /文件清单>

关闭并保存文件。这应该让SQL Phone for Windows Phone 8扩展显示在Windows Phone中 - >扩展名列表。

以下是将SQLite添加到项目中的基本步骤。在项目中添加对“SQLite for Windows Phone”扩展的引用后,需要先将“sqlite-net”NuGet包添加到项目中,然后再添加“sqlite-net-wp8”NuGet包。确保按照sqlite-net-wp8页面上的说明进行操作,特别是关于将USE_WP8_NATIVE_SQLITE添加到项目条件定义的部分:

https://github.com/peterhuene/sqlite-net-wp8

如果在执行此操作后在项目中找不到SQLite.cs和SQLiteAsync.cs源文件,则在“解决方案资源管理器”窗格中按“显示所有文件”按钮,然后按“刷新”按钮。出于某些原因,在我的情况下,文件已添加到我的硬盘但未包含在项目中。只需突出显示两个文件,右键单击,然后选择“包含在项目中”。这应该会让你建立一个项目。

注意:如上所述,您仍然需要安装 sqlite-net sqlite-net-wp8 NuGet包才能使用SQLite DLL。扩展只是确保您的应用程序中包含正确的SQLite dll,具体取决于您的构建配置。如果在项目中SQLite for Windows Phone引用旁边出现黄色感叹号,请尝试将Build配置更改为x86以使其消失。