Сборка команды с несколькими проектами команды

Большой поклонник UPSERT, действительно сокращает код для управления. Вот иначе, я делаю это: Один из входных параметров является идентификатором, если идентификатор является ПУСТЫМ или 0, Вы знаете, что это - ВСТАВКА, иначе это - обновление. Предполагает, что приложение знает, существует ли идентификатор, таким образом, работа привычки во всех ситуациях, но сократит выполнение в половине, если Вы делаете.

5
задан Xiaosu 27 October 2009 в 12:47
поделиться

2 ответа

Насколько я знаю, это невозможно, и это будет проблематично на машинах разработчика. Ссылки на файлы - это лучший способ. Обычно я организовываю проекты следующим образом:

$
-- TeamProject1
   -- branches
   -- trunk
      Solution1.sln
      -- lib
         TestProject2.dll
      -- src
      -- test
         TestProject1.csproj references TestProject2.dll from lib

-- TeamProject2
   -- branches
   -- trunk
      Solution2.sln
      -- lib
      -- src
      -- test
         TestProject2.csproj

Таким образом, TeamProject1 не зависит от исходного кода TeamProject2 и содержит все необходимые зависимости. Если TeamProject2 изменится, это не обязательно будет нарушать TeamProject1.

1
ответ дан 14 December 2019 в 19:17
поделиться

Цитирую официальное руководство по TFS на CodePlex:

Если вы делитесь исходным кодом или двоичными файлами между проектами команды, у вас есть два варианта:

  • Ветвление. При таком подходе вы переносите исходный текст из другого командного проекта в ваше текущее решение. Это создает конфигурацию, которая объединяет источник из общего места и ваш проект на стороне сервера.

  • Workspace Mapping. При таком подходе вы переносите источник из другого командного проекта в рабочее пространство на вашем компьютере для разработки. Это создает конфигурацию, которая объединяет источник из проекта другой команды и ваш проект на стороне клиента.

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

Разветвление добавляет дополнительные накладные расходы на слияние, но оно позволяет вам более четко принимать решение о получении обновленных двоичных файлов или исходных текстов.

4
ответ дан 14 December 2019 в 19:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: