Как использовать такой инструмент, как NAnt, для крупномасштабных сборок, но при этом позволить разработчикам использовать VS IDE? - PullRequest
1 голос
/ 07 августа 2009

У нас есть большая кодовая база в VS 2008. У нас есть разработчики, которым нужно полагаться на VS IDE для повседневной разработки. Но у нас также есть сложные зависимости и этапы развертывания, и нам требуется автоматическая ночная сборка.

Я знаком с NAnt. Он идеально подходит для наших этапов сборки и развертывания вне среды IDE. К сожалению, я не видел хорошего способа интегрировать этапы сборки в IDE. Например, разработчики захотят иметь возможность CTRL-SHIFT-B для сборки. Я видел шаги по добавлению NAnt в качестве внешнего инструмента сборки, но это не позволяет разработчику дважды щелкать по ошибкам, чтобы перейти к исходному тексту.

Достаточно ли хорош MSBuild в наши дни? Есть ли еще что-нибудь? Я не могу поверить, что мы первые имеем дело со сложными сборками и требовательными разработчиками.

РЕДАКТИРОВАТЬ: я вижу из этого вопроса и ответов , что MSBuild, вероятно, будет подходящим вариантом, если я хочу полной интеграции IDE. Есть ли аргументы против этого?

Ответы [ 3 ]

2 голосов
/ 24 августа 2009

MSBuild был бы подходящим вариантом, так что вы можете управлять конфигурацией зависимостей в решении VS, а не в скрипте nant. MSBuild также будет запускать команды pre и post build, заданные в проекте VS, однако некоторые специфические свойства VS недоступны. Nant может запустить MSBuild для файла решения.

Я работаю над проектом с довольно сложными сборками. Мы используем Cruise Control для непрерывной интеграции, которая проверяет SVN на наличие изменений, а затем вызывает скрипт Nant, который затем вызывает целевой объект MSBuild. Все развертывания сделаны оттуда. Разработчики могут собирать и отлаживать без необходимых знаний о том, как он развертывается, что облегчает привлечение новых разработчиков и позволяет им сосредоточиться только на разработке и позволяет Release Manager управлять сборками и развертываниями.

2 голосов
/ 07 августа 2009

Хорошо, я немного предвзят, но MSBuild определенно подходит. В настоящее время MSBuild используется для сборки самой Visual Studio, поэтому он способен. Также будет новая версия MSBuild с Visual Studio 2010 ( на самом деле .NET 4.0 ), которая будет иметь ряд улучшений, включая создание проектов C ++.

Сайед Ибрагим Хашими

Моя книга: Внутри Microsoft Build Engine: Использование MSBuild и Team Foundation Build

0 голосов
/ 28 августа 2009

Вы пробовали NUBuild ? Это очень подходит для выполнения "локальных сборок" разработчиками. Более того, это уменьшит количество ошибок при сборке, позволяя разработчикам ловить их на ранних этапах, а не после того, как они были проверены в системе контроля версий. После того, как он был настроен, это так же просто, как выполнить команду в командном файле для создания проектов. Попробуйте -

http://nubuild.codeplex.com

...