다음을 통해 공유


C# 컴파일러 옵션

이 섹션에서는 C# 컴파일러에서 해석되는 옵션에 대해 설명합니다. 옵션은 언어 기능, 코드 생성, 출력과 같이 제어하는 항목에 따라 별도의 문서에 그룹으로 묶여 있습니다. 목차를 사용하여 옵션을 탐색하세요.

옵션 설정 방법

.NET 프로젝트에서 컴파일러 옵션을 설정하는 방법에는 두 가지가 있습니다.

  • 사용자의 *.csproj 파일에서

    XML 형식의 *.csproj 파일에서 컴파일러 옵션에 대한 MSBuild 속성을 추가할 수 있습니다. 속성 이름은 컴파일러 옵션과 동일합니다. 속성의 값은 컴파일러 옵션의 값을 설정합니다. 예를 들어 다음 프로젝트 파일 조각은 LangVersion 속성을 설정합니다.

    <PropertyGroup>
      <LangVersion>preview</LangVersion>
    </PropertyGroup>
    

    프로젝트 파일에서 옵션을 설정하는 방법에 대한 자세한 내용은 .NET SDK 프로젝트용 MSBuild 속성 문서를 참조하세요.

  • Visual Studio 속성 페이지 사용

    Visual Studio는 빌드 속성을 편집할 수 있는 속성 페이지를 제공합니다. 자세히 알아보려면 프로젝트 및 솔루션 속성 관리 - Windows 또는 프로젝트 및 솔루션 속성 관리 - Mac을 참조하세요.

.NET Framework 프로젝트

Important

이 섹션은 .NET Framework 프로젝트에만 적용됩니다.

위에서 설명한 메커니즘 외에도 .NET Framework 프로젝트에 대한 두 가지 추가 메서드를 사용하여 컴파일러 옵션을 설정할 수 있습니다.

  • .NET Framework 프로젝트의 명령줄 인수: .NET Framework 프로젝트는 프로젝트를 빌드하는 데 dotnet build 대신 csc.exe를 사용합니다. .NET Framework 프로젝트에 대한 csc.exe 명령줄 인수를 지정할 수 있습니다.
  • 컴파일된 ASP.NET 페이지: .NET Framework 프로젝트는 web.config 파일의 섹션을 사용하여 페이지를 컴파일합니다. 새로운 빌드 시스템과 ASP.NET Core 프로젝트의 경우, 프로젝트 파일에서 옵션을 가져옵니다.

일부 컴파일러 옵션의 단어는 csc.exe 및 .NET Framework 프로젝트에서 새 MSBuild 시스템으로 변경되었습니다. 이 섹션에서는 새로운 구문이 사용됩니다. 두 버전은 각 페이지의 맨 위에 나열됩니다. csc.exe의 경우, 옵션과 콜론 뒤에 모든 인수가 나열됩니다. 예를 들어 -doc 옵션은 다음과 같습니다.

-doc:DocFile.xml

명령 프롬프트에서 실행 파일(csc.exe)의 이름을 입력하여 C# 컴파일러를 호출할 수 있습니다.

.NET Framework 프로젝트의 경우 명령줄에서 csc.exe를 실행할 수도 있습니다. 모든 컴파일러 옵션은 -옵션/옵션의 두 가지 형태로 사용할 수 있습니다. .NET Framework 웹 프로젝트에서는 web.config 파일에서 코드 숨김으로 컴파일하는 옵션을 지정합니다. 자세한 내용은 <컴파일러> 요소를 참조하세요.

Visual Studio용 개발자 명령 프롬프트 창을 사용하는 경우 필요한 환경 변수가 모두 설정됩니다. 이 도구에 액세스하는 방법에 대한 자세한 내용은 Visual Studio용 개발자 명령 프롬프트를 참조하세요.

csc.exe 실행 파일은 대개 Windows 디렉터리 아래의 Microsoft.NET\Framework\<버전> 폴더에 있습니다. 이 위치는 개별 컴퓨터의 구성에 따라 다를 수 있습니다. 컴퓨터에 .NET Framework 버전이 두 개 이상 설치된 경우 이 파일의 여러 버전을 찾을 수 있습니다. 해당 설치에 대한 자세한 내용은 방법: 설치된 .NET Framework 버전 확인을 참조하세요.