В чем смысл компиляции C # из командной строки?

Я всегда использую Visual Studio для этого, но даже MSDN неоднократно ссылается на подходы командной строки в сценариях компиляции и развертывания.

Этот парень хочет сделать < em> only, и его хвалят за то, что он хардкорен, но я не вижу смысла делать это таким образом. Что мне не хватает?


person Scott Weaver    schedule 19.02.2012    source источник
comment
Иногда отказ от Visual Studio является несомненным плюсом;) Также некоторые люди хотели бы использовать другой редактор, такой как ViM или Emacs, только потому, что они к нему привыкли.   -  person Jesus Ramos    schedule 19.02.2012
comment
Инструменты командной строки часто помогают упростить автоматизацию. Автоматизация часто помогает облегчить вашу работу.   -  person Carl Norum    schedule 19.02.2012


Ответы (4)


Непрерывная сборка и автоматизация, как говорили другие, - очень веские причины для использования инструментов командной строки. Если вам нужен надежный процесс развертывания, у вас должен быть автоматизированный способ сборки и развертывания. Если ваш процесс развертывания состоит из запуска Visual Studio, загрузки проекта, компиляции, а затем ручного копирования вывода в каталог развертывания, тогда вы столкнетесь с проблемами развертывания. В итоге вы получите частичные сборки, старые версии, забудете какой-то важный шаг и т. Д.

Я считаю, что IDE необходима для разработки и отладки. Но я обнаружил, что единственный способ надежно построить, протестировать и развернуть - автоматизировать процесс.

person Jim Mischel    schedule 19.02.2012

Инструменты автоматической сборки, такие как серверы непрерывной интеграции, обычно используют компиляторы командной строки C #. Проведите некоторое время в мире Linux, и вы узнаете значение командной строки.

person Chris Shain    schedule 19.02.2012
comment
Обычно они не используют компилятор напрямую, а скорее инструмент сборки msbuild. - person BrokenGlass; 19.02.2012
comment
Конечно, но суть та же. Мы используем make или ant, а не gcc или javac, но конечный результат эквивалентен. - person Chris Shain; 19.02.2012

Одно из важных применений - то, что вы можете запускать его автоматически как часть более крупного процесса сборки в один щелчок. Сложно (или, по крайней мере, излишне сложно) иметь автоматизированный скрипт, который говорит: «Откройте Visual Studio, откройте решение, нажмите F6» или любой другой ключ сборки.

person Tesserex    schedule 19.02.2012

Во-первых, если вы загружаете проект на сервер непрерывной интеграции, вам нужно будет использовать подход командной строки для автоматизированных сборок. Я предполагаю, что это наиболее распространенное его использование, но я уверен, что есть и другие.

person Jeremy Wiggins    schedule 19.02.2012