Я использую NAnt некоторое время, но, похоже, это слишком сложно для того, что мне нужно. Мне было интересно, есть ли альтернативы для создания проектов С#?
Альтернативы NAnt
Ответ 1
Я бы сказал, как только вы начнете в NAnt, это не так сложно. Я немного упустил хороший учебник "Let get me started", и все, что я читал, было довольно датировано. Хорошо, что вы можете использовать MSBuild для создания приложения (это то, что я использую), а остальные - с NAnt.
По крайней мере, я думаю, что это не сложнее, чем MSBuild - и для вещей, которые MSBuild проще, вы можете использовать MSBuild для этого.
Это то, что я использую:
<exec program="msbuild.exe"
basedir="C:\windows\microsoft.net\Framework\v3.5\"
commandline="Project.csproj /p:OutDir=..\Outdir\; configuration=Release" />
Ответ 2
Теперь у NAnt и MSBuild есть несколько отличных альтернатив.
nRake (или просто Rake)
http://jamescrisp.org/2010/03/20/nrake-rake-builds-for-net/
psake - инструмент автоматизации сборки, написанный в PowerShell
http://jameskovacs.com/2008/06/27/introducing-psake/
Я лично использовал NAnt и MSBuild и с нетерпением ожидаю нашего предстоящего перехода на один из них (мы еще не решили, что именно). NAnt и MSBuild не так уж сложно начать, но после того, как скрипты сборки начинают становиться все более сложными, и вам нужно их отлаживать, они становятся огромным бременем для решения. Это зависит от того, насколько вы автоматизируете.
Ответ 3
Вы можете попробовать FinalBuilder - он очень прост в использовании, хотя я предпочитаю придерживаться NAnt. И у вас всегда есть MSBuild...
Ответ 4
Там MSBuild, но это не проще, чем Nant.
Оба отлично после того, как вы привыкнете к синтаксису.
Более простой вариант - использовать пакетные файлы.
Другим является использование CIFactory, что позволяет быстро запустить сервер сборки и непрерывной интеграции.
Ответ 5
Мы изучаем Cake - самое большое преимущество в том, что это в основном С#.
С сложным процессом у нас сегодня довольно сложно поддерживать наши скрипты NAnt, используемые для сборки, упаковки и маркировки кода, а также runnig модульные тесты, покрытие кода, статический анализ и т.д.
См. Также Почему вы должны использовать язык сценариев общего назначения для сценариев сборки?
Поскольку большая часть нашего кода является С#, мы скорее используем С#...
Ответ 6
Phantom - очень удобная альтернатива для С#. Я бы хотел, чтобы он был в python (более портативный) и больше использовался, потому что синтаксис очень опрятный и мощный.
Ответ 7
Maven - отличный инструмент для построения, он был разработан в основном для сообщества Java, но теперь существует .NET plugin для создания проектов С#, Существуют довольно большие концептуальные различия между Maven (см. Wikipedia для краткого обзора) и NAnt, поэтому вы можете сначала прочитать об этом, если вы хотите попробовать.
2 интересные функции:
- Зрелая коллекция плагинов для выполнения общих задач, таких как тестирование, создание документов, развертывание и т.д.
- Можно автоматически получить зависимые от проекта зависимости от центрального репозитория