我目前正致力于Visual Studio 2013解决方案,包含约190个C ++项目。由于它们都是同一生态系统的模块,因此它们具有许多共同的属性(常见的链接选项,二进制文件输出位置,后期构建步骤等)。
因此,我们创建了一组属性表,使我们能够以集中的方式维护这些属性。
这很好用。
我们的团队使用TFS作为SCM,并且Visual Studio与属性表的TFS 集成似乎缺乏(或者可能只是错误或未配置)。
编辑属性表(存在于TFS中)时,Visual Studio会尝试保存它,但会失败并显示错误消息。再次单击“应用/确定”,将正确地将PS中的更改存储在内存中,但在解决方案关闭之前不会保存属性表(执行签入时看不到更改导致开发人员进行两次更改提交,导致非事务性提交。
如果我在解决方案资源管理器中执行结帐,则永远不会签入属性表更改;它们总是在TFS提交窗口的“排除的更改”中结束,并且当开发人员没有注意到这一点时会引起很多问题。
场景:开发人员A创建一个功能分支,添加一个带有属性表的项目,执行一些提交,然后合并回主分支,删除功能分支,每个人都获取代码。然后我们发现属性表从未在TFS中添加(Visual Studio在添加到项目时不会自行添加)并且由于开发人员A删除了她的本地分支文件,文件丢失;这意味着失去了工作和再次写PS的努力。
如何自定义各种文件类型(如属性表)的TFS处理?
是否有任何Visual Studio或TFS工具可以改善/自动化这种集成? (我知道SO在工具推荐方面并不大,但我更感兴趣的是找出功能是否存在,而不是获取特定的工具名称。)
感谢。
答案 0 :(得分:1)
属性表是否在项目范围内,或者是否作为松散文件添加?很可能是当您执行签入或签出时无法更改文件,因为TFS不会将其视为项目的一部分。如果右键单击解决方案资源管理器中的项目,您应该会看到添加文件的选项。这是将其纳入项目范围的唯一方法。