명령 프롬프트에서 C # 소스 파일 컴파일 / 실행


답변:


140

CSC.exe는 .NET Framework에 포함 된 CSharp 컴파일러이며 명령 프롬프트에서 컴파일하는 데 사용할 수 있습니다. "/ target : exe"또는 DLL을 사용하는 경우 실행 파일 ".exe"가 될 수 있습니다. / target : library를 사용하는 경우 CSC.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.

"entry point"역할을하도록 클래스 중 하나에 정적 Main () 메소드가 정의되어 있는지 확인하십시오.

결과 EXE를 실행하려면을 입력 한 MyApplication다음 <ENTER>명령 프롬프트 를 사용하십시오.

MSDN에 대한 이 기사에서는 명령 줄 컴파일러의 옵션에 대해 자세히 설명합니다. 리소스를 포함하고 아이콘을 설정하며 어셈블리에 서명 할 수 있습니다. Visual Studio에서 할 수있는 모든 작업이 가능합니다.

Visual Studio가 설치되어 있으면 "시작 메뉴"에서 Visual Studio 도구에서 "Visual Studio 명령 프롬프트"를 열면 명령 줄 컴파일에 필요한 모든 환경 및 경로 변수가 설정됩니다.

이것을 아는 것이 매우 편리하지만 NAnt , MSBuild , FinalBuilder 등과 같은 일종의 빌드 툴에 대한 지식과 결합해야합니다 .이 툴은 기본 컴파일러뿐만 아니라 완전한 빌드 환경을 제공합니다.

Mac에서

Mac에서는 구문이 비슷하며 C sharp Compiler 만 이름이 csc다음과 같습니다.

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

그런 다음 실행하십시오.

$ mono MyApplication.exe

1
내가 올바르게 기억한다면 Main 메소드가있는 정적 클래스가있는 경우에만 컴파일하고 실행할 수 있습니다.
cjk 2012

컴파일러는 그렇지 않은 경우 요즘 경고하지만 좋은 점은 대답에 추가 할 것입니다. 감사합니다.
Ash

5
대단해. 작은 C # 앱을 컴파일해야하며 Visual Studio를 터치하는 데 관심이 없습니다. 감사!
ColinM

1
Win10에서, 나는 내 것을 발견했다 :C:\Program Files (x86)\MSBuild\14.0\Bin\csc.exe
TrakJohnson

17

Visual Studio를 사용하지 않거나 설치하지 않고 C # 프로그램을 컴파일하는 또 다른 방법 은 환경 변수 (예 : "PATH")에 사용자 변수를 만드는 것입니다.

이 변수에 다음 경로를 복사하십시오.

"C : \ Windows \ Microsoft.NET \ 프레임 워크 \ v4.0.30319"

또는 PC의 .NET에 따라 다릅니다.

따라서 코드를 컴파일 할 때마다 전체 경로를 언급 할 필요가 없습니다. 간단히 사용

"C : \ Users \ UserName \ Desktop> csc [옵션] filename.cs"

또는 코드 경로가 어디에 있든지.

이제 잘 가십시오.


15

C # 프로그램을 컴파일 할 수 있습니다.

c :> csc Hello.cs

당신은 프로그램을 실행할 수 있습니다

c :> 안녕하세요


1
추가 라이브러리를 사용하면 어떻게됩니까? 어셈블리를 찾을 수 없다는 오류가 발생합니다 ...이 문제를 해결하는 방법?
Nikas Žalias

컴파일러의 경로가 환경 변수에 있는지 먼저 확인해야합니다.
Dame Lyngdoh

@ NikasŽalias. 예 : csc Hello.cs -langversion : latest -reference : System.Net.Http.dll
Alex Nolasco

8

최신 버전의 경우 먼저 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!

7

커맨드 라인에서 빌드하는 방법을 아는 것은 확실히 좋은 일이지만, 대부분의 작업에서 IDE를 사용하는 것이 더 쉬울 수 있습니다. C # Express Edition 은 무료이며 돈을 위해 아주 좋습니다 ;-p

또는 snippy 와 같은 것을 사용하여 C # 코드 조각을 실행할 수 있습니다.

마지막으로 명령 행은 구현에 따라 다릅니다. MS의 경우는 다음과 같습니다 csc. 대한 모노 , 그 것이다 gmcs모노에 대해 일반적으로 "모노 EXENAME"는 MS의 버전에 그냥 "EXENAME"하지만 : 친구는 .... 마찬가지로, 실행.

마지막으로 많은 프로젝트가 빌드 스크립트 도구로 빌드됩니다. MSBuild , NAnt


3
IDE를 사용합니다. 그러나 나는 알아야했다. 모르는 것이 옳지 않다! 답변 해 주셔서 감사합니다.
DragonBorn

1
NAnt +1! LINQPad는 코드 조각을 실험하는 데 매우 유용합니다. linqpad.net
TrueWill

6

최신 .Net Framework 4.7에 더 이상 번들로 제공되지 않는 독립형 C # 7.0 컴파일러로 MSBuild를 설치하는 방법은 다음과 같습니다.

Visual Studio없이 C # 컴파일러를 설치할 수 있습니까?

그런 다음 실행

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

단일 소스 파일을 실행 파일로 컴파일합니다.

또한 .Net Core 사전 구성된 프로젝트없이 단일 소스 파일 컴파일을 지원하지 않습니다 .


5

LinqPad는 C # 코드를 무료로 테스트하는 빠른 방법입니다.


2

기본 Windows 명령 창이 아닌 VS 명령 프롬프트 내에서 클래스 파일을 빌드하여 모든 필수 환경 변수가로드되도록 할 수 있습니다.

csc.exe (컴파일러)를 사용한 명령 줄 작성에 대한 자세한 내용은 이 문서를 참조 하십시오 .


2

Visual Studio를 설치 한 경우 VS 용 개발자 명령 프롬프트가 있습니다. csc명령을 사용하여 프로그램을 쉽게 빌드 하고 개발자 명령 프롬프트에서 응용 프로그램 이름으로 응용 프로그램을 실행할 수 있습니다.

아래와 같이 개발자 명령 프롬프트를 열 수 있습니다.

VS에 대한 시작 => 개발자 명령 프롬프트

도움이 되었기를 바랍니다!


2

경로에 추가

C:\Windows\Microsoft.NET\Framework\v3.5

컴파일하기:

csc file.cs

실행하다:

file

1

C # 코드를 작성하고 저장하면 명령 프롬프트를 사용하여 다른 코드와 마찬가지로 실행할 수 있습니다.

명령 프롬프트에서 파일이있는 디렉토리를 입력하고 다음을 입력하십시오.

컴파일하기:

mcs yourfilename.cs

실행하다:

mono yourfilename.exe 

.exe 파일을 다른 이름으로 바꾸려면 다음을 입력하십시오.

컴파일하기:

mcs yourfilename.cs -out:anyname.exe 

실행하다:

mono anyname.exe 

도움이 될 것입니다!


1

Windows 시스템의 csc <filname>.cs경우 현재 디렉토리가 Microsoft Visual Studio \ <Year> \ <Version>에있는 동안 명령 프롬프트에서 명령 을 사용하십시오.

두 가지 방법이 있습니다.

명령 프롬프트 사용

  1. 시작-> 명령 프롬프트
  2. cd C : \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ <Version> 명령을 사용하여 디렉토리를 Visual Studio 폴더로 변경하십시오.
  3. csc /.cs 명령을 사용하십시오.

개발자 명령 프롬프트 사용 :

  1. VS 2017에 대한 시작-> 개발자 명령 프롬프트 (여기서는 디렉토리가 이미 Visual Studio 폴더로 설정되어 있음)

  2. csc /.cs 명령을 사용하십시오.

그것이 도움이되기를 바랍니다!


0

C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Roslyn

여기에서 c # 7을 지원하는 c # 컴파일러를 찾을 수 있습니다. 그렇지 않으면 c # 5 만 지원하는 .net 4 컴파일러를 사용합니다.



0

CompileCS.cmdC # 파일을 컴파일 (및 선택적으로 실행) 할 수 있는 배치 파일 을 작성했습니다 . 배치 프로그램 'CompileCS'를 포함한 완전한 대답을 here 찾을 수 있습니다 .

그것의 사용법은 간단하다 :

CompileCS /run GetDotNetVersion.cs[arg1] ... [arg9]

컴파일하고 GetDotNetVersion.cs를 실행합니다. 단지 컴파일하려면 /run매개 변수를 생략하십시오 .

콘솔 응용 프로그램 GetDotNetVersion.cs이 답변 에서 가져옵니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.