В настоящее время я работаю над решением Visual Studio 2013, включающим ~ 190 проектов C ++. Поскольку все они являются модулями одной и той же экосистемы, у них много общих свойств (общие параметры связывания, расположение выходных данных двоичных файлов, этапы после сборки и т. Д.).
Таким образом, мы создали набор таблиц свойств, что позволяет нам поддерживать эти свойства централизованно.
Это отлично работает.
Наша команда использует TFS в качестве SCM и интеграцию Visual Studio с TFS для имущественных ведомостей кажется, отсутствует (или, возможно, это просто глючит или не настроен).
При редактировании листа свойств (который присутствует в TFS) Visual Studio пытается сохранить его, что приводит к ошибке с сообщением об ошибке. Повторное нажатие кнопки «Применить / ОК» правильно сохранит изменения в PS в памяти, но лист свойств не будет сохранен до тех пор, пока решение не будет закрыто (выполнение проверки не видит изменений, заставляющих разработчиков сделать два коммита для изменения , что приводит к нетранзакционным коммитам).
Если я выполняю извлечение из обозревателя решений, изменения в листе свойств никогда не регистрируются; они всегда заканчиваются «Исключенными изменениями» в окне фиксации TFS и вызывают много проблем, когда разработчики не обращают на это внимания.
Сценарий: разработчик A создает ветку объектов, добавляет проект с таблицей свойств, выполняет несколько коммитов, затем сливается с основной веткой, удаляет ветку объектов и каждый получает код. Затем мы обнаруживаем, что лист свойств никогда не добавлялся в TFS (Visual Studio не добавляет его сам по себе, когда он добавляется в проект), и, поскольку разработчик А удалил файлы своей локальной ветки, файл теряется; Это означает потерю работы и усилия, направленные на то, чтобы снова написать PS.
Что можно сделать, чтобы настроить обработку файлов TFS для различных типов файлов (например, таблиц свойств)?
Существуют ли инструменты для Visual Studio или TFS, которые улучшают / автоматизируют эту интеграцию? (Я знаю, что SO не слишком хорош в рекомендациях по инструментам, но мне больше интересно узнать, существует ли эта функция вообще, чем получать конкретные названия инструментов).
Благодарю.
Является ли лист свойств в рамках вашего проекта или он добавлен в виде свободного файла? Вполне может быть так, что при выполнении регистрации или извлечения файл не может быть изменен, поскольку TFS не видит его как часть проекта. Если вы щелкнете правой кнопкой мыши по проекту в обозревателе решений, вы увидите опцию добавления файлов. Это единственный способ получить его в рамках вашего проекта.