Проблемы с Visual С++ 2013, TFS и листы свойств

Фон

В настоящее время я работаю над решением Visual Studio 2013, охватывая ~ 190 проектов на С++. Поскольку все они являются модулями одной и той же экосистемы, у них есть много общих свойств (общие параметры ссылок, расположение выходных файлов двоичных файлов, шаги после сборки и т.д.).

Таким образом, мы создали набор свойств, позволяя нам централизованно поддерживать эти свойства.

Это отлично работает.

Наша команда использует TFS как SCM, и интеграция Visual Studio с TFS для листов свойств кажется недостаточной (или, может быть, просто ошибкой или неконфигурированной).

Проблемы

  • При редактировании листа свойств (который присутствует в TFS) Visual Studio пытается его сохранить, что не удается с сообщением об ошибке. Нажав кнопку "Применить/ОК", вы правильно сохраните изменения в PS в памяти, но лист свойств не будет сохранен до тех пор, пока решение не будет закрыто (выполнение проверки не видит изменений, заставляющих разработчиков делать две фиксации для изменения, в результате чего не транзакционные коммиты).

  • Если я выполняю проверку внутри Обозревателя решений, изменения листа свойств никогда не проверяются; они всегда попадают в "Исключенные изменения" в окне фиксации TFS и вызывают множество проблем, когда разработчики не внимательны к этому.

  • Сценарий: разработчик A создает ветвь функции, добавляет проект с листом свойств, выполняет несколько коммитов, затем объединяется обратно в основную ветвь, удаляет ветвь функции, и каждый получает код. Затем мы обнаруживаем, что лист свойств никогда не добавлялся в TFS (визуальная студия не добавляет его сама по себе, когда она добавляется в проект), и поскольку разработчик A удалил свои файлы локального ветки, файл потерян; Это означает потерянную работу и усилия, направленные на то, чтобы снова написать PS.

Вопрос (ы)

Что можно сделать, чтобы настроить обработку TFS для различных типов файлов (например, листов свойств)?

Существуют ли какие-либо инструменты для Visual Studio или TFS, которые улучшают/автоматизируют эту интеграцию? (Я знаю, что SO невелик в рекомендациях инструмента, но мне больше интересно узнать, существует ли вообще функциональность, а не получать имена спецификаций инструмента).

Спасибо.

Ответы

Ответ 1

Является ли лист свойств в рамках вашего проекта или он добавлен как незакрепленный файл? Вполне возможно, что когда вы выполняете регистрацию или проверку, что файл не может быть изменен, поскольку TFS не видит его в составе проекта. Если вы щелкните правой кнопкой мыши по проекту в своем браузере решений, вы увидите возможность добавления файлов. Это единственный способ получить его в рамках вашего проекта.