包含 C++ 项目的 TFS 2010 源代码控制下的 VS2010 解决方案在打开时会发出警告

Posted

技术标签:

【中文标题】包含 C++ 项目的 TFS 2010 源代码控制下的 VS2010 解决方案在打开时会发出警告【英文标题】:VS2010 Solution under TFS 2010 source control cotaining a C++ project gives warning when opened 【发布时间】:2012-06-12 08:57:04 【问题描述】:

我刚刚接手了一个项目的维护工作。这是一个 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\***\AppData\Local\Temp\VC++\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++ 项目的最佳实践是什么?

    我是否应该从源代码管理中删除 .sdf 文件,让 VS 在每次有人获得解决方案时重新创建此文件? 我是否应该勾选使用后备选项以有效绕过存储库中的 .SDF

有没有更好的方法让 VS2010 知道 SDF 文件在源代码控制下,以便在打开项目时自动检查它?

【问题讨论】:

【参考方案1】:

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

【讨论】:

【参考方案2】:

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

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

【讨论】:

以上是关于包含 C++ 项目的 TFS 2010 源代码控制下的 VS2010 解决方案在打开时会发出警告的主要内容,如果未能解决你的问题,请参考以下文章

重新建立 TFS 源代码控制绑定

在另一个源代码控制项目中引用一个源代码控制项目(使用 TFS)

TFS 2010 权限。所有用户都有权

TFS 2010 从门控签入中排除文件类型

vs2008添加TFS项目时出现以下错误,其中输入的TFS地址的有效的。用VS2010都可以这样添加

如何在 TFS 中分支和合并