包含 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)