Несколько проектов в. Net Решение - объединить артефакты сборки из всех проектов - PullRequest
1 голос
/ 30 января 2020

У меня есть 2 решения, которые содержат тестовый код. Один для автоматизации пользовательского интерфейса, а другой для API. Я объединил оба решения, и я могу создавать и запускать тесты из обоих, но:

Каждое из них содержит похожие конфигурации, которые я хотел бы объединить в рамках одного проекта. Нет необходимости иметь одно и то же в обоих. Я удалил конфиги из project2 и создал ссылки с Proj1 на Proj2. Я создаю Project1, и артефакты генерируются нормально из Project1, но он не содержит все артефакты из Proj2.

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

Вопрос: Если я решу добавить проект № 3 и добавить к нему конфиги. Как я могу собрать проект 3 и объединить артефакты из всех них в папке bin проекта # 3.

Надеюсь, я проясняю это.

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

1 Ответ

0 голосов
/ 04 февраля 2020

Как подсказывает Ziggler , вы можете изменить папку вывода сборки, чтобы объединить все артефакты из всех них в папке bin проекта # 3.

И вы можете сделать это, передав $(OutputPath) свойство в командной строке. Кажется, вы используете что-то вроде TeamCity, Azure Devops или что-то в вашей среде.

Для этих инструментов мы можем добавить параметр msbuild, например: /p:OutputPath="Path to project3's bin folder", если вы используете msbuild для построения всего решения (msbuild xx.sln). См. Глобальное свойство .

А что касается порядка сборки, вы можете добавить зависимость проекта для управления порядком сборки. Msbuild распознает зависимость проекта и ссылку на проект, а затем автоматически выбирает правильный порядок. Надеюсь, это поможет:)

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