对于VS2015中的任何和所有C ++项目,“打开SDF文件时出错”

时间:2015-11-29 07:31:17

标签: c++ visual-studio configuration visual-studio-2015

我在VS2015中创建或打开的任何C ++项目,都会收到此错误:

  

创建或打开C ++浏览数据库文件WHATEVER.sdf时发生错误。 C ++项目将无法使用IntelliSense和浏览信息。

     

确保已安装Microsoft SQL Server Compact 4.0,并且没有其他应用程序正在访问该文件。如果此问题仍然存在,请删除该文件并重新打开解决方案。

这意味着没有IntelliSense等,这是我首先使用Visual Studio的一半原因。我在Windows 8.1上使用Visual Studio 2015企业版,这适用于所有 C ++项目。 SDF文件实际上根本没有创建,因此没有要删除的文件。

到目前为止我尝试了什么;没有任何影响:

  • 确保实际安装了SQL Server Compact 4.0(它是。)版本是4.0sp1,我尝试用4.0替换它,但它告诉我已经存在更新的版本,无需任何操作。
  • 使用提升(管理员)权限运行VS。
  • 在不同的目录中创建项目(例如,在默认的VS项目路径下,在驱动器的根目录中,在另一个驱动器上,在没有空格的路径上等)。
  • 修复Visual Studio安装(两次。)
  • 使用SDF文件的“后备位置”(在工具 - >选项 - >文本编辑器 - > C / C ++ - >高级 - >后备位置),效果完全相同。

使用devenv.exe命令行选项运行VS(/Log)并打开项目然后关闭VS会给我一个600KB + XML文件,这是我无法阅读的,粗略搜索显示没有可疑条目。

任何提示/建议/解决方案?

2 个答案:

答案 0 :(得分:2)

我自己刚刚遇到这个问题,在Windows 10上安装了Visual Studio 2015 Update 1。

下载SQL Server Compact 4.0 SP1安装程序并修复安装,似乎可以很好地纠正这种情况。

https://www.microsoft.com/en-gb/download/details.aspx?id=30709

答案 1 :(得分:1)

我刚刚在Virtual Box下运行的Windows 7 Professional 32位SP1(完全更新)上的Visual Studio Professional 2012 Update 5上针对此问题(OP中的消息和完全禁用的Intellisense)进行了轻微的战争5.2.8(主机操作系统是Windows 10 Pro 64位,完全更新。)

我尝试了所有方法,包括Jake Hendy上面提出的解决方案 - 没有任何帮助。我甚至尝试完全强制卸载,然后清理重新安装整个Visual Studio。

当我回忆起几个月前我保存了我的虚拟机快照时,一切都工作得很好 - 我尝试恢复到该快照,但问题仍然存在!这让我怀疑可能不是操作系统或软件本身安装/运行,但实际上是以某种方式导致问题的虚拟机管理程序:我最近从5.2.6升级到Virtual Box 5.2.8。所以我重新下载并重新安装Virtual Box 5.2.6(在预先存在的5.2.8安装之上,基本上替换它) - 确实问题消失了!

因此,对于在VM内的旧版操作系统上运行旧版开发环境的任何人 - 如果遇到此类问题,请考虑管理程序最近发生的更新。显然,SQL Server Compact 4.0 SP1做了一些相当挑剔或超级“高级”的东西,并且可以通过操作环境深处的模糊(可能与安全相关的?)变化巧妙地打破。令人兴奋的是,一个应用程序如何被这样的虚拟机管理程序更改打破 - 而其他一切似乎仍然没有任何问题......

无论如何,这是我特别的(不可否认的,相反的情况)问题和解决方案 - 不太可能,我希望这可以帮助处于类似情况的其他人。