1

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

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

在尝试编译时,我得到:“找不到 SDK”SQLite.WinRT,Version=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”)

4

1 回答 1

2

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

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

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

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

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

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

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

于 2013-01-23T06:06:52.077 回答