csc.exe를 사용한 명령줄 빌드
명령줄에 실행 파일(csc.exe)의 이름을 입력하여 C# 컴파일러를 호출할 수 있습니다.
Visual Studio 명령 프롬프트 창을 사용 하는 경우, 필요한 환경 변수들은 모두 자동으로 설정 됩니다. Windows 7의 경우, Microsoft Visual Studio Version\Visual Studio 도구 폴더에서 시작 메뉴를 통해 해당 창에 액세스할 수 있습니다. Windows 8의 경우, Visual Studio 명령 프롬프트는 VS2012 명령 프롬프트 개발자 라고 불리며, 이것은 시작 화면에서 검색을 통해 찾을 수 있습니다.
표준 명령 프롬프트 창을 사용하는 경우, 컴퓨터의 하위 디렉터리에서 csc.exe를 호출 하려면 먼저 경로부터 설정해줘야 합니다. 또한 명령줄 빌드를 지원하기 위해 적절한 환경 변수를 설정하려면 vsvars32.bat를 실행해야 합니다. Vsvars32.bat와 이것에 대한 찾기 및 실행하는 방법에 대한 자세한 내용은 방법: Visual Studio 명령줄에 필요한 환경 변수 설정 을 참조하시기 바랍니다.
Windows SDK(소프트웨어 개발 키트) 만 있는 컴퓨터에서 작업하는 경우, Microsoft .NET Framework SDK 메뉴 옵션에서 사용할 수 있는 SDK 명령 프롬프트 에서 C# 컴파일러를 사용할 수 있습니다.
또한 MSBuild를 사용하여 C# 프로그램을 프로그램에 맞게 빌드할 수도 있습니다. 자세한 내용은 MSBuild을 참조하십시오.
csc.exe 실행 파일은 대개 Windows 디렉터리 아래의 Microsoft.NET\Framework\Version 폴더에 있습니다. 이 위치는 개별 컴퓨터의 구성에 따라 다를수 있습니다. 컴퓨터에 여러 버전의 .NET Framework 설치되어 있는 경우, 이 파일의 여러 버전을 찾을수 있습니다. 이러한 설치에 대한 자세한 내용은 설치된 .NET Framework 버전 확인를 참조하십시오.
팁
Visual Studio IDE를 사용하여 프로젝트를 빌드할 때 사용자는 출력 창의 컴파일러 옵션과 연결되어 있는 csc 명령을 표시할 수 있습니다.이 정보를 표시하려면 방법: 빌드 로그 파일 보기, 저장 및 구성 의 지시를 따라 로그 데이터의 자세한 정도를 보통 또는 자세히 로 변경하시기 바랍니다.프로젝트를 재 빌드를 마치고 나면, C# 컴파일러를 호출하기 위해 csc 를 찾아 출력 창을 검색하시기 바랍니다.
항목 내용
명령줄 구문 규칙
샘플 명령줄
C# 컴파일러와 C++ 컴파일러 출력 간의 차이
C# 컴파일러의 명령줄 구문 규칙
C# 컴파일러에서는 운영 체제 명령줄에 지정된 인수를 해석할 때 다음 규칙이 적용됩니다.
인수를 공백이나 탭으로 구분합니다.
캐럿 기호(^)는 이스케이프 문자나 구분 기호로 인식되지 않습니다. 문자를 프로그램의 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
최적화 기능을 사용하고 DEBUG 기호를 정의한 상태에서 현재 디렉터리의 모든 C# 파일을 컴파일합니다. 출력 파일은 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# 컴파일러에서는 링커가 필요하지 않습니다.
참고 항목
작업
방법: foreach를 사용하여 명령줄 인수 액세스(C# 프로그래밍 가이드)