У меня есть ситуация, когда я хочу скопировать выходную сборку из одного проекта в выходной каталог моего целевого приложения, используя MSBuild, без жестких путей в моей задаче MSBuild Copy. Вот сценарий:
- Проект A - Проект веб-приложения
- Проект B - Проект интерфейса Dal
- Проект C - Проект внедрения Dal
Существует также бизнес-уровень, но он не имеет отношения к проблеме MSBuild, которую я хочу решить.
У моего бизнес-уровня есть ссылка на мой проект Dal.Interface. В моем веб-проекте есть ссылка на бизнес-уровень, и в процессе сборки сборка приведет к выводу бизнес-уровня и Dal.Interface. Все идет нормально. Теперь для запуска веб-приложения необходима реализация Dal. Я не хочу, чтобы на реализацию ссылались где-либо, поскольку я хочу навязать кодирование интерфейсу, а отсутствие ссылки означает, что оно не будет отображаться в intellisense и т. Д.
Итак, я решил, что смогу справиться с этим посредством операции копирования MSBuild в качестве задачи AfterBuild (у меня есть настройка реализации Dal, которая создается при сборке веб-проекта, но на которую нет ссылок). Я не хочу жестко кодировать пути или что-либо еще в параметрах MSBuild, поэтому я пытаюсь выяснить, как ссылаться на выходные данные проекта Dal из файла MSBuild проекта веб-приложения.
Итак, исходя из упомянутых выше проектов, я хочу, чтобы это произошло:
- Начинается сборка веб-приложения
- Сборка всех необходимых проектов (уже настроена, так что это сделано)
- Запускается задача MSBuild «AfterBuild», и выходные данные из проекта C (реализация Dal) копируются в каталог Bin проекта A (веб-приложение)
Часть 3, где я застрял.
Я уверен, что это можно сделать, я просто не могу найти хорошую справку, чтобы помочь. Заранее спасибо за любую помощь.