Я начинаю новый проект, и один из членов команды решил использовать C # в качестве языка реализации.У меня нет большого опыта в C #, но краткое чтение показывает, что он очень способен быть полным кроссплатформенным vm.Помимо языка, у меня были проблемы с выбором инструментов и рабочих процессов для управления кодом по мере роста проекта.Он должен быть довольно маленьким (<10 тыс. Строк), но я хотел бы иметь возможность генерировать документацию по мере роста проекта, управлять любыми внешними зависимостями, которые мы решим использовать, и автоматизировать сборки и тестирование.Мне интересно, какие инструменты обычно используются или считаются лучшими практиками для этого языка. </p>
Меня больше всего интересует, как система сборки может работать как на * nix, так и на окнах?Существуют ли инструменты, специфичные для C #, или Make более распространен?Кроме того, я хотел бы использовать dvcs, но не похоже, что Visual Studio и MonoDevelop поддерживают одни и те же.Каковы распространенные VCS выбора для C #?Для тестирования доступен тип юнит-тестирования для C # / Mono?Наконец, я знаю, что есть хорошие генераторы документов, но с вопросом о системе сборки мне бы очень хотелось, чтобы это был всего лишь один шаг в сборке, аналогичный тому, как тестирование является шагом.Обычно я автоматизирую с Hudson, но мне интересно, есть ли что-то более специфичное для платформы.
В целом, я хотел бы увидеть решение, которое обеспечивает достойный рабочий процесс как для Windows, так и для * nix безтяжелое административное бремя.Я почти уверен, что это святой Грааль управления проектами, поэтому все, что выводит меня на этот путь, просто потрясающе.