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

StackOverflow https://stackoverflow.com/questions/553143

Вопрос

Как скомпилировать и выполнить файл .cs из окна командной строки?

Это было полезно?

Решение

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

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

Запустите компилятор 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») вы можете открыть «Командную строку Visual Studio», в которой будут настроены все необходимые переменные среды и пути для компиляции командной строки.

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

На Mac

На Mac синтаксис аналогичен, только назван компилятор C Sharp. csc:

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

Затем, чтобы запустить его:

$ mono MyApplication.exe

Другие советы

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

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

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

или в зависимости от того, какой .NET установлен на вашем компьютере.

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

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

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

Теперь вы готовы идти.

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

с:> csc Hello.cs

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

с:> Привет

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

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

Наконец, обратите внимание, что командная строка зависит от реализации;для МС это csc;для мононуклеоз, это gmcs и друзья....Аналогично, чтобы выполнить:для версии MS это просто «exename», но обычно для mono — «mono exename».

Наконец, многие проекты создаются с помощью инструментов сценариев сборки; MSBuild, НАнт, и т. д.

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

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

Тогда просто беги

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

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

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

Для последней версии сначала откройте окно 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!

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

Дополнительные сведения о создании командной строки с помощью csc.exe (компилятора) см. Эта статья.

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

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

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

Компилировать:

mcs yourfilename.cs

Выполнить:

mono yourfilename.exe 

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

Компилировать:

mcs yourfilename.cs -out:anyname.exe 

Выполнить:

mono anyname.exe 

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

В системах Windows используйте команду csc <filname>.cs в командной строке, пока текущий каталог находится в Microsoft Visual Studio\<Год>\<Версия>

Есть два способа:

Используя командную строку:

  1. Пуск -> Командная строка
  2. Измените каталог на папку Visual Studio, используя команду:cd C:\Program Files (x86)\Microsoft Visual Studio\2017\ <Версия>
  3. Используйте команду:csc /.cs

Использование командной строки разработчика:

  1. Start -> Командная строка разработчика для VS 2017 (здесь каталог уже установлен в папку Visual Studio)

  2. Используйте команду:csc /.cs

Надеюсь, поможет!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top