В нашем решении есть тонна проектов, и наш файл MSBuild превращается в гигантскую нестабильную кучу угловых скобок, которая стала настолько большой, что я начал бояться ее трогать.Однако я заметил, что большинство наших проектов делятся на две группы.
Существуют веб-проекты с расширением .csproj, которые создаются и развертываются с использованием проектов веб-развертывания для их выгрузки в каталог.Существует также процесс преобразования конфигурации.По сути, для развертывания веб-проекта нужно только имя проекта, выходной каталог и преобразования конфигурации.
Аналогичным образом, у нас постоянно увеличивается число приложений-служб, которые будут работать под TopShelf.В основном это dll, созданные из файлов .csproj.Как и вышеупомянутые веб-сайты, они подвергаются преобразованию конфигурации, но копируются в выходной каталог вместо того, чтобы выполнять шаги веб-развертывания.
Мне пришло в голову, что было бы очень удобно, если бы я мог просто предоставитьПроект MSBuild с парой текстовых файлов (один для веб-сайтов, а другой для сервисов), которые MSBuild может затем использовать для динамической компиляции всех различных проектов.Я думал, что если бы я мог просто передать ему разделенный запятыми список проектов, выходных местоположений и файлов замены конфигурации, что мог бы быть способ заставить msbuild читать их, перебирать и выводить проекты, где онидолжны идти.
Однако мой MSBuild-fu слабый.Как мне вообще начать это?