Построение из командной строки с помощью csc.exe

Чтобы вызвать компилятор C#, можно ввести имя исполняемого файла (csc.exe) в командной строке.

Если используется окно Командной строки Visual Studio, то все необходимые переменные среды устанавливаются автоматически. В Windows 7 это окно можно открыть из меню Пуск, открыв папку Microsoft Visual Studio Version\Visual Studio Tools. В Windows 8 Командная строка Visual Studio называется Командная строка разработчика для VS2012, и ее можно найти, выполнив поиск на Начальном экране.

Если используется стандартное окно Командной строки, то необходимо изменить путь до файла csc.exe, прежде чем вызывать его из любого подкаталога на компьютере. Вы также должны запустить vsvars32.bat чтобы установить соответствующие переменные среды для включения возможности построения из командной строки. Дополнительные сведения о vsvars32.bat, включая инструкции о его нахождении и запуске, см. в разделе Практическое руководство. Настройка переменных среды для командной строки Visual Studio.

При работе на компьютере, где установлен только Windows SDK, компилятор C# можно использовать в командной строке, если используется Командная строка SDK, которая открывается через пункт меню Microsoft .NET Framework SDK.

MSBuild можно использовать для программного построения программ C#. Для получения дополнительной информации см. MSBuild.

Обычно, исполняемый файл csc.exe расположен в папке Microsoft.NET\Framework\Version в каталоге Windows. Расположение файла может зависеть от конкретной конфигурации каждого отдельного компьютера. Если на компьютере установлено несколько версий .NET Framework, то будет доступно несколько версий этого файла. Дополнительные сведения о подобных случаях установки см. в разделе Определение установленной версии платформы .NET Framework.

Совет

При построении проекта в интегрированной среде разработки Visual Studio вы можете увидеть команду csc и ассоциированные параметры компилятора в окне Вывод.Для отображения информации следуйте инструкциям Практическое руководство. Просмотр, сохранение и настройка файлов журнала построения для изменения уровня логгирования даных с Обычный на Детальный.После сборки проекта, выполните поиск по слову csc в окне Вывод для просмотра информации о запуске компилятора C#.

В этом разделе

  • Правила синтаксиса командной строки

  • Примеры команд командной строки

  • Различия между результатами компилятора C# и компилятора C++

Правила для синтаксиса командной строки для компилятора C#

Компилятор C# придерживается следующих правил при обработке аргументов, вводимых в командной строке операционной системы.

  • Аргументы разделяются пробелами (пробел или табуляция).

  • Символ каретки (^) не воспринимается как escape-символ или разделитель. Этот символ обрабатывается синтаксическим анализатором командной строки в операционной системе, прежде чем передается в массив argv программы.

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

  • Символ двойной кавычки после обратной косой черты (\") обрабатывается как символ двойной кавычки литерала (").

  • Символы обратной косой черты обрабатываются буквально, если только им не предшествует двойная кавычка.

  • Если перед четным числом символов обратной косой черты стоит двойная кавычка, один символ косой черты помещается в массив argv для каждой пары символов обратной косой черты, и прямая кавычка обрабатывается как разделитель строки.

  • Если перед нечетным числом символов обратной косой черты стоит двойная кавычка, один символ косой черты помещается в массив argv для каждой пары символов обратной косой черты, и прямая кавычка "исключается" оставшимся символом обратной косой черты. При этом двойная кавычка литерала (") добавляется в argv.

Примеры команд командной строки для компилятора C#

  • Компиляция файла File.cs в файл File.exe:

    csc File.cs 
    
  • Компиляция файла File.cs в файл File.dll:

    csc /target:library File.cs
    
  • Компиляция файла File.cs и создание файла My.exe:

    csc /out:My.exe File.cs
    
  • Компиляция всех файлов C# в текущем каталоге с оптимизацией и определением символа DEBUG. Результат File2.exe:

    csc /define:DEBUG /optimize /out:File2.exe *.cs
    
  • Компиляция всех файлов C# в текущем каталоге с созданием версии отладки файла File2.dll. Отключение отображения логотипа и предупреждений:

    csc /target:library /out:File2.dll /warn:0 /nologo /debug *.cs
    
  • Компиляция всех файлов C# в текущем каталоге в файл Something.xyz (библиотека DLL):

    csc /target:library /out:Something.xyz *.cs
    

Различия между результатами компилятора C# и компилятора C++

В результате вызова компилятора C# файлы объектов (OBJ) не создаются; выходные файлы создаются непосредственно. Таким образом, компилятору C# не требуется средство связывания.

См. также

Задачи

Практическое руководство. Отображение аргументов командной строки (Руководство по программированию на C#)

Практическое руководство. Доступ к аргументам командной строки с помощью оператора foreach (Руководство по программированию на C#)

Ссылки

Параметры компилятора C# в алфавитном порядке

Параметры компилятора C#, упорядоченные по категориям

Аргументы командной строки (Руководство по программированию на C#)

Значения, возвращаемые методом Main() (Руководство по программированию на C#)

Основные понятия

Main() и аргументы командной строки (Руководство по программированию на C#)

Другие ресурсы

Параметры компилятора C#