自从获得SQLite的最新版本(3.7.15.1)以来,我有两个编译问题的应用程序。
第二个直到今天早上一直“倒霉”,所以直到现在我才注意到它。
在尝试编译时,我得到:“找不到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
最后三个可能是问题(没有路径,没有解决,没有版本信息)。所以,不知何故,显然,安装时没有添加Path等。那么SQLite for Windows运行时的文件名是什么,以便我可以搜索它的位置并手动将其添加到路径中(此时也可以添加Resolved和Version信息)。
我在这里找到了sqlite3.dll:
C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v8.0 \ ExtensionSDKs \ SQLite.WinRT \ 3.7.15.2 \ Redist \ Debug \ x86
这是要添加到Path的相应文件(sqlite3.dll)和位置吗?
这个想法非常多:“Path”属性不可编辑。
仔细观察文件路径,我看到我安装的是3.7.15.2,而不是3.7.15.1。
我在“Recent”中看到的三个可能的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”所附)
答案 0 :(得分:2)
我不能说你是否仍然对这个问题有疑问,但是即使它现在对你有用,以下内容可能对那些偶然发现这个问题的人有用。
始终通过Windows > Extension
对话框的Add Reference...
部分添加对SQLite的引用。添加引用时,它始终会添加到当时安装的SDK版本中。
通过Extensions and Updates...
对话框管理和更新SDK,包括新版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
。