Компиляция / выполнение исходного файла C# в командной строке

Как вы компилируете и выполняете a .cs-файл из окна командной строки?

9 ответов


CSC.exe является компилятором CSharp, включенным в .NET Framework, и может использоваться для компиляции из командной строки. Выход может быть исполняемым файлом (.exe), если вы используете /target:exe или DLL, если вы используете /target:library. КДВ.exe находится в каталоге .NET Framework, например, для .Net 3.5 с, c:\windows\Microsoft.NET\Framework\v3.5\.

, чтобы запустить его, сначала откройте командную строку (нажмите кнопку Пуск... затем введите cmd.exe). Затем вам может потребоваться cd в каталог, содержащий исходные файлы.

выполнить компилятор C# выглядит так:

  c:\windows\Microsoft.NET\Framework\v3.5\bin\csc.exe 
            /t:exe /out:MyApplication.exe MyApplication.cs  ...

(все на одной строке)

если у вас есть более одного исходного модуля для компиляции, вы можете поместить его в ту же командную строку. Если у вас есть другие сборки для ссылки, используйте /r:AssemblyName.dll .

убедитесь, что у вас есть статический метод Main (), определенный в одном из ваших классов, чтобы действовать как "точка входа".

чтобы запустить результирующий EXE, просто введите MyApplication следовал по <ENTER> в командной строке.

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

если у вас установлена Visual Studio, в меню Пуск (под Visual Studio Tools) вы можете открыть "Командная строка Visual Studio", которая настроит все необходимые переменные среды и пути для компиляции командной строки.

пока очень удобно знать об этом, вы должны объединить его со знанием какого-то инструмента сборки, такого как NAnt, MSBuild, FinalBuilder etc. Эти инструменты обеспечивают полную среду сборки, а не только базовый компилятор.

на Mac

на Mac синтаксис похож, только компилятор C sharp называется csc:

$ csc /target:exe /out:MyApplication.exe MyApplication.cs ...

затем запустить его :

$ mono MyApplication.exe

вы можете скомпилировать программу на C#:

c: > csc Здравствуйте.cs

вы можете запустить программу

c: > Привет


другой способ компиляции программ на C#(без использования Visual Studio или без его установки) это создать пользовательскую переменную в переменных среды, а именно "путь".

скопируйте следующий путь в этой переменной:

"C:\Windows\Microsoft.NET\Framework\v4.0.30319"

или в зависимости от .Объем вашего ПК.

поэтому вам не нужно упоминать весь путь каждый раз, когда вы компилируете код. Просто использовать

"C:\Users\UserName\Desktop>csc [параметры] имя файла.cs"

или где бы ни находился путь вашего кода.

теперь вы хорошо идти.


хотя определенно хорошо знать, как строить в командной строке, для большинства работ может быть проще использовать IDE. C# экспресс-выпуск бесплатно и очень хорошо для денег ; - p

кроме того, такие вещи, как сниппи может использоваться для запуска фрагментов кода C#.

наконец-обратите внимание, что командная строка специфична для реализации; для MS это csc; за моно, это gmcs и друзей.... Аналогично, для выполнения: это просто " exename "для версии MS, но обычно" mono exename " для mono.

наконец, многие проекты строятся с помощью инструментов построения скриптов;MSBuild, NAnt, etc.


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

чтобы узнать больше о построении командной строки с csc.программы (компилятор), см. в этой статье.


LinqPad-это быстрый способ проверить код C# и его бесплатный.


для последней версии сначала откройте окно Powershell, перейдите в любую папку (например,c:\projects\) и выполните следующие действия

# Get nuget.exe command line
wget https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -OutFile nuget.exe

# Download the C# Roslyn compiler (just a few megs, no need to 'install')
.\nuget.exe install Microsoft.Net.Compilers

# Compiler, meet code
.\Microsoft.Net.Compilers.1.3.2\tools\csc.exe .\HelloWorld.cs

# Run it
.\HelloWorld.exe    

пример HelloWorld.cs

using System;

public class HelloWorld {
    public static void Main() 
    {
        Console.WriteLine("Hello world!");
    }
}

вы также можете попробовать новый интерпретатор C#;)

.\Microsoft.Net.Compilers.1.3.2\tools\csi.exe
> Console.WriteLine("Hello world!");
Hello world!

как только вы напишете код C# и сохраните его. Вы можете использовать командную строку, чтобы выполнить ее так же, как и другой код.

в командной строке введите каталог, в котором находится ваш файл, и введите

Для Компиляции:

mcs yourfilename.cs

Выполнить:

mono yourfilename.exe 

если вы хотите, чтобы ваш .exe файл, чтобы быть другим с другим именем, введите

Для Компиляции:

mcs yourfilename.cs -out:anyname.exe 

в Выполнить:

mono anyname.exe 

это должно помочь!


вот как установить MSBuild с автономным компилятором C# 7.0, который больше не входит в последнюю версию .Net Framework 4.7:

можно ли установить компилятор C# без Visual Studio?

тогда просто запустите

"C:\Program Files (x86)\Microsoft Visual Studio17\BuildTools\MSBuild.0\Bin\Roslyn\csc.exe" MyApplication.cs

для компиляции одного исходного файла в исполняемый файл.

также обратите внимание, что .Net Core не поддерживает компиляцию одного исходного файла без предварительно проект.