Компиляция/выполнение исходного файла C# в командной строке
-
23-08-2019 - |
Вопрос
Как скомпилировать и выполнить файл .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\<Год>\<Версия>
Есть два способа:
Используя командную строку:
- Пуск -> Командная строка
- Измените каталог на папку Visual Studio, используя команду:cd C:\Program Files (x86)\Microsoft Visual Studio\2017\ <Версия>
- Используйте команду:csc /.cs
Использование командной строки разработчика:
Start -> Командная строка разработчика для VS 2017 (здесь каталог уже установлен в папку Visual Studio)
Используйте команду:csc /.cs
Надеюсь, поможет!