TFS 2010 源代码管理下的 VS2010 解决方案保留C++项目时在打开时发出警告

VS2010 Solution under TFS 2010 source control cotaining a C++ project gives warning when opened

本文关键字:项目 警告 C++ 保留 管理 源代码 2010 解决方案 VS2010 TFS      更新时间:2023-10-16

我刚刚接管了一个项目的维护。这是一个VS2010解决方案,其项目中包括一个C++项目。整个解决方案作为源代码管理系统保留在 TFS 2010 中。

现在,每当我打开解决方案时,VS2010都会向我显示这个烦人的对话框;

Visual C++ found a suitable location to store its browsing database and IntelliSense files 
for the solution 
"C:*******x.sln."
Visual C++ examined the folder "C:***A***LL." 
This folder is not suitable because of the following:
The browsing database in this directory has the read-only attribute and cannot be written to.
The directory is on a local drive.
Because a 'Fallback Location' was not specified in the C++ Advanced Options, Visual C++ is 
attempting to use your temporary directory.
Visual C++ examined the folder "C:Users***AppDataLocalTempVC++c****-57e7d5e2." This folder is suitable because of the following:
The directory is on a local drive.
The 'Fallback Location' is configurable under C++ Advanced Options.
Press OK to use this location.

看起来这是由C++解决方案*引起的。SDF文件受源代码管理,这意味着当解决方案被打开时(尽管在源代码管理下),它的只读,因此对话框的只读位。

所以我的问题是 TFS 源代码管理下的C++项目的最佳实践是什么?

  1. 我是否应该从源代码管理中删除.sdf文件,让 VS 在每次 somone 获得解决方案时重新创建该文件?
  2. 我是否应该有效地绕过使用回退选项。存储库中的 SDF

有没有更好的方法让VS2010知道SDF文件在源代码管理下,以便在打开项目时自动签出?

我只能建议从源代码管理中排除sdf。对它进行版本控制没有任何好处,因为它是在每次更改时生成的,几乎每次都会生成。正如口头禅可以说的那样,除非绝对有必要共享二进制文件(例如,需要的图标和图像),否则您永远不应该对二进制文件进行版本控制。

我的问题与虚幻引擎4解决方案有关。问题是我已经移动了项目的中间文件夹(其中包括构建文件),然后在下次打开编辑器时重新生成它(没有构建文件)。解决方法是删除新的中间文件夹,然后将旧文件夹重新迁移到项目目录。

如果您已经删除了中间文件夹并且没有备份,则修复最有可能使 .uproject>生成的 Visual Studio 项目文件元化。