Мы используем TeamCity для непрерывной интеграции и собираем наши релизы с помощью файла решения (.sln). В прошлом я использовал Makefiles для различных систем, но никогда не использовал msbuild (я слышал, что это похоже на Makefiles + XML mashup). Я видел много сообщений о том, как использовать msbuild напрямую вместо файлов решения, но я не вижу четкого ответа на вопрос, зачем это делать.
Итак, зачем нам переходить с файлов решений на «make-файл» MSBuild? У нас есть пара выпусков, которые отличаются #define (специализированными сборками), но по большей части все работает.
Больше всего беспокоит то, что теперь нам нужно поддерживать две системы при добавлении проектов / исходного кода.
ОБНОВИТЬ:
Могут ли люди пролить свет на жизненный цикл и взаимодействие следующих трех компонентов?
- Visual Studio .sln файл
- Множество файлов уровня .csproj проекта (которые я понимаю как «sub» сценарии msbuild)
- Пользовательский скрипт msbuild
Можно ли с уверенностью сказать, что файлы .sln и .csproj используются / поддерживаются в обычном режиме из графического интерфейса IDE Visual Studio, а пользовательский сценарий msbuild написан от руки и обычно использует уже существующие отдельные файлы .csproj «как есть»? Это один из способов уменьшить дублирование при обслуживании ...
Был бы признателен за это на опыте других людей
Because it's reputed to be better practice
где?
So, why should we bother migrating from solution files to an MSBuild 'makefile'?
Сначала вы должны сказать, почему вы об этом думаете? Разве файл решения не достаточно?