sqlite - Windows Runtime 3.7.15.1 的 SQLite 文件名是什么?

标签 sqlite windows-runtime installation windows-store-apps

自从获得最新 (3.7.15.1) 版本的 SQLite 后,我有两个应用程序在编译时出现问题。

直到今天早上,第二个一直“处于次要状态”,所以直到现在我才注意到它。

在尝试编译时,我得到:“找不到 SDK “SQLite.WinRT,版本 = 3.7.15.1”。

引用列表确实显示我安装了“SQLite for Windows Runtime”。

不过,我刚刚意识到,这些属性是:

(Name)  SQLite for Windows Runtime
Fiel Type   SDK
Identity    SQLite.WinRT, Version=3.7.15.1
Path    [blank]
Resolved    False
Version 0.0.0.0

最后三个可能是问题(没有路径,未解决,没有版本信息)。所以不知何故,显然,安装时没有添加路径等。那么 Windows 运行时的 SQLite 的文件名是什么,这样我就可以搜索它的位置并手动将其添加到路径中(此时也有望添加已解决和版本信息)。

更新

我在这里找到 sqlite3.dll:

C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0\ExtensionSDKs\SQLite.WinRT\3.7.15.2\Redist\Debug\x86

这是要添加到路径的适当文件(sqlite3.dll)和位置吗?

更新 2

这个想法就这么多:“路径”属性不可编辑。

更新 3

仔细查看文件路径,我发现我安装的是 3.7.15.2,而不是 3.7.15.1。

我在“最近”中看到的三个可能的 SQLite 版本是 3.7.14、3.7.15 和 3.7.15.1。转到“扩展”选项卡后,我找到了 3.7.15.2。

它添加的路径是:C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0\ExtensionSDKs\SQLite.WinRT\3.7.15.2\(所以没有附加“\Redist\Debug\x86”)

最佳答案

我不能从你的问题中说你是否仍然有这个问题,但即使它现在对你有用,以下内容可能对偶然发现这个问题的人有用。

对 SQLite 的引用总是通过 Windows > Extension 添加。 Add Reference... 的一部分对话。添加引用时,它始终会添加到当时安装的 SDK 版本中。

SDK通过Extensions and Updates...进行管理和更新对话框,包括新版本 SDK 可用时的通知。通过这种机制更新 SDK 后,旧版本的库将不再可用。仍然引用它的任何项目都将无法构建并出现您遇到的错误:

Could not find SDK "SQLite.WinRT, Version=#.#.#.#.

要解决此问题,您需要删除现有引用并通过 Add Reference... 重新添加它。对话。这样,引用将更新为您机器上可用的最新版本的库,并且项目将再次构建。

当一个由多个开发人员组成的团队正在开发一个引用 SQLite 的项目时,此过程会产生副作用。一旦其中一个更新了 SDK 和项目中的引用并将此更改提交到源代码管理,所有开发人员都必须更新 SDK,然后才能再次构建项目。

也在 Windows > Recent Add Reference... 的一部分即使在 SDK 更新到新版本后,您之前添加到项目中的旧版本 SDK 仍会列出。这意味着您仍然可以从此处添加它,但由于该库不再存在,因此它将无法工作。不幸的是,即使您尝试添加这些引用,Visual Studio 也不会从对话框中删除它们,也不会以任何其他方式警告您该问题,而不是失败的构建。不过,您可以自己从对话框中删除引用,方法是右键单击它并选择Remove from Recent References。 .

关于sqlite - Windows Runtime 3.7.15.1 的 SQLite 文件名是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14463855/

相关文章:

java - 大型 SQLLite XML 数据库失败

php - 如何在 Laravel 5.2 框架中创建 sqlite 文件?

c# - WinRT 上的 StreamSocket 不接收所有数据

database - sqflite query()无法正常工作: “type ' QueryRow'不是 'Map<String, String>'类型的子类型”

android - 如何将数据库值获取到android(sqlite数据库)中的字符串数组

xaml - 在 WinRT 上放大和缩小网格、图像(Metro 风格应用程序)

c# - 使用 ListView 的 WinRT ObservableCollection 删除操作

c++ - 在没有 Visual Studio 的情况下使用 C++ 安装 Opencv

java - 为 Java 程序创建 Windows 安装程序

python - PIP 安装和 Python 路径