Visual C++ 2013,TFS和属性表的问题

utn*_*tim 16 c++ tfs visual-studio-2013

背景

我目前正致力于Visual Studio 2013解决方案,包含约190个C++项目.由于它们都是同一生态系统的模块,因此它们具有许多共同的属性(常见的链接选项,二进制文件输出位置,后期构建步骤等).

因此,我们创建了一组属性表,使我们能够以集中的方式维护这些属性.

这很好用.

我们的团队使用TFS作为SCM,并且Visual Studio与TFS 的属性表集成似乎缺乏(或者可能只是错误或未配置).

问题

  1. 编辑属性表(存在于TFS中)时,Visual Studio会尝试保存它,但会失败并显示错误消息.再次单击"应用/确定",将正确地将PS中的更改存储在内存中,但在解决方案关闭之前不会保存属性表(执行签入时看不到更改导致开发人员进行两次更改提交,导致非事务性提交).

  2. 如果我在解决方案资源管理器中执行结帐,则永远不会签入属性表更改; 它们总是在TFS提交窗口的"排除的更改"中结束,并且当开发人员不关心这一点时会导致很多问题.

  3. 场景:开发人员A创建一个功能分支,添加一个带有属性表的项目,执行一些提交,然后合并回主分支,删除功能分支,每个人都获取代码.然后我们发现属性表从未在TFS中添加(Visual Studio在添加到项目时不会自行添加),并且由于开发人员A删除了她的本地分支文件,文件丢失; 这意味着失去了工作和再次写PS的努力.

问题

可以做些什么来自定义各种文件类型(如属性表)的TFS处理?

是否有任何Visual Studio或TFS工具可以改善/自动化这种集成?(我知道SO在工具推荐上并不大,但我更感兴趣的是找出功能是否存在,而不是获取特定的工具名称).

谢谢.

小智 1

属性表是否在您的项目范围内,还是作为松散文件添加?当您执行签入或签出时,该文件很可能无法更改,因为 TFS 不会将其视为项目的一部分。如果您在解决方案资源管理器中右键单击该项目,您应该会看到一个添加文件的选项。这是将其纳入项目范围的唯一方法。