Можно ли сохранить список проектов для сборки во внешнем файле для определений сборки TFS2010?

У меня есть устаревшее определение сборки, которое было настроено до того, как я начал свою работу по созданию файла решения. Теперь, согласно этому статья, MSBuild полностью игнорирует порядок сборки, установленный для решения, поэтому я создал новое определение сборки, которое строит файлы проекта решения в правильном порядке, как в соответствии с порядком сборки решения. Хотя это решает мою первоначальную проблему, потребовалось много времени, чтобы настроить список проектов для сборки для моего определения сборки, поскольку решение имеет более 100 проектов, и ввод всех этих проектов через пользовательский интерфейс был немного болезненным.

Идеальным решением этой проблемы было бы, если бы определение сборки могло ссылаться на внешний файл, содержащий этот список проектов для сборки. Это также помогло бы мне в том, что разработчики могли бы также обновить этот список любыми недавно добавленными проектами, которые также необходимо построить с правильным порядком сборки.

Кто-нибудь знает, возможно ли это, и если да, то как этого добиться?


person Vermin    schedule 07.12.2011    source источник


Ответы (1)


Если вы посмотрите в свою базу данных TFS_'CollectionName', @table tbl_BuildDefinition там есть столбец ProcessParameters, который содержит в XML все различные параметры определения сборки.

Подраздел, который вам нужен, выглядит следующим образом:

 <mtbwa:BuildSettings x:Key="BuildSettings"
  ProjectsToBuild="$/../solution1.sln,$/.../solution2.csproj">

Таким образом, различные проекты, которые нужно построить, хранятся здесь (разделены запятыми).

Должна быть возможность создать инструмент, который извлекает и редактирует это поле, даже если этот инструмент работает на основе входного файла - точно так же, как вы установили как идеальный.

С другой стороны, MS-люди более чем часто заявляли, что прямой доступ к TFS-DB не рекомендуется - не поддерживается и т. д.

person pantelif    schedule 07.12.2011