Visual Studio 2010 - C++项目 - 删除*.sdf文件

224

我想知道是否可以安全地删除存储Visual Studios Intellisense信息的sdf文件 - 下次打开解决方案时它会被重新构建吗?

这样做会丢失什么吗?这种方式有可能破坏解决方案吗?

这样做的动机是因为多个小项目存储 - 每个sdf文件的大小大约为20Mb,这将导致磁盘空间明显减少。


16
别忘了将它加入你的版本控制忽略列表。 - R. Martinho Fernandes
5个回答

351
您可以安全删除.sdf 文件ipch 文件夹,但您也可以阻止VS首先将这些文件放在项目文件夹中。(如果您的源代码位于SVN或其他同步文件夹中,或者如果您将项目存储在类似USB存储器或SSD的小卷中,而您不希望这些大文件存储在同一文件夹中,则此方法非常有用)
前往 工具 -> 选项 -> 文本编辑器 -> C/C++ -> 高级 在“备选位置”中,将“始终使用备选位置”设置为True,“如果使用备选位置,则不发出警告”设置为True。(注意大小写)
在“备选位置”中,可以使用路径(例如C:\Temp),或者如果将其留空,则VS将使用您的AppData文件夹中的临时目录。

6
使用 Git。这将节省我们大量时间关闭 Visual Studio。 - GCon
Visual Studio 2008有类似的设置吗?在C/C++中,没有高级选项。 - the swine
@GCon 使用 Git,您可以将这些文件/文件夹添加到.gitignore中。 - Christos Lytras
@ChristosLytras 在旧版的Visual Studio(和非常大的项目)中,问题在于加载(和关闭)项目所需的时间。我不知道它是否已经在新版本中得到修复,或者这只是我上一份工作非常糟糕的实践的副作用。 - GCon
@GCon 我从未有过一个非常大的项目(数百个源代码文件),但毫无疑问,SDF 文件可以帮助减少加载和编译时间。我的观点是,我们可以将这些文件放在 .gitignore 中,而不必禁用 VS 选项来生成它们,并且永远不要将它们提交到 git 存储库中。一旦用户克隆存储库,VS 将为性能重新构建这些文件。 - Christos Lytras

43

你可以安全地删除该文件。下次打开解决方案时,Visual Studio会重新构建该文件。


21

简短回答是:是的,您可以安全地删除.sdf文件。

不过请注意,您实际上可以通过将以下选项设置为True来防止VS首先创建.sdf文件:

工具 -> 选项 -> 文本编辑器 -> C/C++ -> 高级 -> 禁用数据库


1
...这将会禁用 IntelliSense,而这很可能 不是 OP 所想要的。 - Christian Severin
即使我已经禁用了数据库,SDF文件仍然被重新创建了。 - Anders Lindén

1
为了完整起见,您可以安全地删除以下内容: - *.sdf - Debug 文件夹(通常有两个级别) - ipch 文件夹(c#)

0

你可以删除这个本地文件,不用担心。 SDF文件将来自你的“xxxDBDataSet.xsd”文件。 如果你改变了它,SDF文件也会更新。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接