2012-02-19 6 views
1

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

This guy хочет сделать только командной строки, и хвалится за хардкор, но я не вижу смысла делать это таким образом. Что мне не хватает?

+1

Не использовать визуальную студию - это определенный плюс иногда;) Также некоторые люди хотели бы использовать другой редактор, такой как ViM или Emacs, только потому, что они привыкли к нему. –

+2

Инструменты командной строки часто помогают упростить автоматизацию. Автоматизация часто помогает упростить вашу работу. –

ответ

6

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

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

2

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

4

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

+0

Они обычно не используют компилятор напрямую, а скорее инструмент сборки msbuild. – BrokenGlass

+0

Несомненно, но точка одна и та же. Мы используем make или ant, а не gcc или javac, но конечный результат эквивалентен. –

+0

+1 для оператора мира Linux –

0

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