다음을 통해 공유


Csc 작업

CSC.exe를 래핑하고 실행 파일(.exe 파일), 동적 연결 라이브러리(.dll 파일) 또는 코드 모듈(.netmodule 파일)을 생성합니다. CSC.exe에 대한 자세한 내용은 C# 컴파일러 옵션을 참조하십시오.

매개 변수

다음 표에서는 Csc 작업의 매개 변수에 대해 설명합니다.

Parameter

설명

AdditionalLibPaths

선택적 String[] 매개 변수입니다.

참조를 검색할 추가 디렉터리를 지정합니다. 자세한 내용은 /lib(C# 컴파일러 옵션)를 참조하십시오.

AddModules

선택적 String 매개 변수입니다.

해당 어셈블리의 일부가 될 모듈을 하나 이상 지정합니다. 자세한 내용은 /addmodule(C# 컴파일러 옵션)을 참조하십시오.

AllowUnsafeBlocks

선택적 Boolean 매개 변수입니다.

true이면 unsafe 키워드를 사용하는 코드를 컴파일합니다. 자세한 내용은 /unsafe(C# 컴파일러 옵션)을 참조하십시오.

ApplicationConfiguration

선택적 String 매개 변수입니다.

어셈블리 바인딩 설정을 포함하는 응용 프로그램 구성 파일을 지정합니다.

BaseAddress

선택적 String 매개 변수입니다.

DLL을 로드할 기본 설정 기준 주소를 지정합니다. DLL의 기본 기준 주소는 .NET Framework 공용 언어 런타임에 의해 설정됩니다. 자세한 내용은 /baseaddress(C# 컴파일러 옵션)를 참조하십시오.

CheckForOverflowUnderflow

선택적 Boolean 매개 변수입니다.

데이터 형식 범위를 오버플로하는 정수 연산이 있을 경우 런타임에 예외가 발생하는지 여부를 지정합니다. 자세한 내용은 /checked(C# 컴파일러 옵션)를 참조하십시오.

CodePage

선택적 Int32 매개 변수입니다.

컴파일할 때 모든 소스 코드 파일에 사용할 코드 페이지를 지정합니다. 자세한 내용은 /codepage(C# 컴파일러 옵션)를 참조하십시오.

DebugType

선택적 String 매개 변수입니다.

디버그 형식을 지정합니다. DebugTypefull 또는 pdbonly가 될 수 있습니다. 기본값은 실행 프로그램에 디버거를 연결할 수 있는 full입니다. pdbonly를 지정하면 디버거에서 프로그램을 시작할 때 소스 코드를 디버깅할 수 있지만 실행 프로그램을 디버거에 연결할 때 어셈블러만 표시됩니다.

이 매개 변수는 EmitDebugInformation 매개 변수를 재정의합니다.

자세한 내용은 /debug(C# 컴파일러 옵션)를 참조하십시오.

DefineConstants

선택적 String 매개 변수입니다.

전처리기 기호를 정의합니다. 자세한 내용은 /define(C# 컴파일러 옵션)을 참조하십시오.

DelaySign

선택적 Boolean 매개 변수입니다.

true이면 어셈블리에 완전히 서명하도록 지정합니다. false이면 어셈블리에 공개 키만 포함하도록 지정합니다.

이 매개 변수를 적용하려면 KeyFile 또는 KeyContainer 매개 변수를 함께 사용해야 합니다.

자세한 내용은 /delaysign(C# 컴파일러 옵션)을 참조하십시오.

DisabledWarnings

선택적 String 매개 변수입니다.

비활성화할 경고 목록을 지정합니다. 자세한 내용은 /nowarn(C# 컴파일러 옵션)을 참조하십시오.

DocumentationFile

선택적 String 매개 변수입니다.

문서 주석을 XML 파일로 처리합니다. 자세한 내용은 /doc(C# 컴파일러 옵션)를 참조하십시오.

EmitDebugInformation

선택적 Boolean 매개 변수입니다.

true이면 작업에서 디버깅 정보를 생성하여 프로그램 데이터베이스 파일(.pdb)에 배치합니다. false이면 작업에서 디버그 정보를 생성하지 않습니다. 기본값은 false입니다. 자세한 내용은 /debug(C# 컴파일러 옵션)를 참조하십시오.

ErrorReport

선택적 String 매개 변수입니다.

C# 내부 오류를 Microsoft에 간편하게 보고할 수 있습니다. 이 매개 변수의 값으로는 prompt, send 또는 none을 사용할 수 있습니다. 이 매개 변수를 prompt로 설정할 경우 내부 컴파일러 오류가 발생하면 프롬프트가 나타납니다. 이 프롬프트를 사용하면 버그 보고서를 Microsoft에 온라인으로 전송할 수 있습니다. 이 매개 변수를 send로 설정하면 버그 보고서가 자동으로 전송됩니다. 이 매개 변수를 none으로 설정하면 오류가 컴파일러의 텍스트 출력으로만 보고됩니다. 기본값은 none입니다. 자세한 내용은 /errorreport(C# 컴파일러 옵션)를 참조하십시오.

FileAlignment

선택적 Int32 매개 변수입니다.

출력 파일에 있는 섹션의 크기를 지정합니다. 자세한 내용은 /filealign(C# 컴파일러 옵션)을 참조하십시오.

GenerateFullPaths

선택적 Boolean 매개 변수입니다.

true이면 컴파일러 출력에서 파일의 절대 경로를 지정합니다. false이면 파일의 이름을 지정합니다. 기본값은 false입니다. 자세한 내용은 /fullpaths(C# 컴파일러 옵션)를 참조하십시오.

KeyContainer

선택적 String 매개 변수입니다.

암호화 키 컨테이너의 이름을 지정합니다. 자세한 내용은 /keycontainer(C# 컴파일러 옵션)를 참조하십시오.

KeyFile

선택적 String 매개 변수입니다.

암호화 키를 포함하는 파일 이름을 지정합니다. 자세한 내용은 /keyfile(C# 컴파일러 옵션)을 참조하십시오.

LangVersion

선택적 String 매개 변수입니다.

사용할 언어의 버전을 지정합니다. 자세한 내용은 /langversion (C# 컴파일러 옵션)을 참조하십시오.

LinkResources

선택적 ITaskItem[] 매개 변수입니다.

출력 파일에 .NET Framework 리소스에 대한 링크를 만듭니다. 이 리소스 파일은 출력 파일에 저장되지 않습니다.

이 매개 변수에 전달되는 항목에는 LogicalNameAccess라는 선택적 메타데이터 엔트리가 연결될 수 있습니다. LogicalName/linkresource 스위치의 identifier 매개 변수에 해당하고, Access는 accessibility-modifier 매개 변수에 해당합니다. 자세한 내용은 /linkresource(C# 컴파일러 옵션)를 참조하십시오.

MainEntryPoint

선택적 String 매개 변수입니다.

Main 메서드의 위치를 지정합니다. 자세한 내용은 /main(C# 컴파일러 옵션)을 참조하십시오.

ModuleAssemblyName

선택적 String 매개 변수입니다.

이 모듈이 속하게 될 어셈블리의 이름을 지정합니다.

NoConfig

선택적 Boolean 매개 변수입니다.

true이면 컴파일러에서 csc.rsp 파일을 사용하여 컴파일하지 않도록 지시합니다. 자세한 내용은 /noconfig(C# 컴파일러 옵션)를 참조하십시오.

NoLogo

선택적 Boolean 매개 변수입니다.

true이면 컴파일러 배너 정보를 표시하지 않습니다. 자세한 내용은 /nologo(C# 컴파일러 옵션)를 참조하십시오.

NoStandardLib

선택적 Boolean 매개 변수입니다.

true이면 전체 시스템 네임스페이스를 정의하는 mscorlib.dll을 가져오지 않습니다. 사용자 고유 시스템 네임스페이스 및 개체를 정의하거나 만들려면 이 매개 변수를 사용합니다. 자세한 내용은 /nostdlib(C# 컴파일러 옵션)을 참조하십시오.

NoWin32Manifest

선택적 Boolean 매개 변수입니다.

true인 경우 기본 Win32 매니페스트를 포함하지 않습니다.

Optimize

선택적 Boolean 매개 변수입니다.

true이면 최적화 기능을 활성화합니다. false이면 최적화를 사용하지 않습니다. 자세한 내용은 /optimize(C# 컴파일러 옵션)를 참조하십시오.

OutputAssembly

선택적 String 출력 매개 변수입니다.

출력 파일의 이름을 지정합니다. 자세한 내용은 /out(C# 컴파일러 옵션)을 참조하십시오.

PdbFile

선택적 String 매개 변수입니다.

디버그 정보 파일 이름을 지정합니다. 기본 이름은 .pdb 확장명이 있는 출력 이름입니다.

Platform

선택적 String 매개 변수입니다.

출력 파일에서 대상으로 삼을 프로세서 플랫폼을 지정합니다. 이 매개 변수의 값으로는 x86, x64 또는 anycpu를 사용할 수 있습니다. 기본값은 anycpu입니다. 자세한 내용은 /platform(C# 컴파일러 옵션)을 참조하십시오.

References

선택적 ITaskItem[] 매개 변수입니다.

작업에서 지정된 항목의 공개 형식 정보를 현재 프로젝트에 가져올 수 있도록 합니다. 자세한 내용은 /reference(C# 컴파일러 옵션)를 참조하십시오.

원래 "참조" 항목에 메타데이터 Aliases를 추가하면 MSBuild 파일에서 Visual C# 참조 별칭을 지정할 수 있습니다. 예를 들어 별칭 "LS1"을 설정하려면 다음 CSC 명령줄을 사용합니니다.

csc /r:LS1=MyCodeLibrary.dll /r:LS2=MyCodeLibrary2.dll *.cs

그런 다음 아래와 같이 사용합니다.

<Reference Include="MyCodeLibrary">
  <Aliases>LS1</Aliases>
</Reference>

Resources

선택적 ITaskItem[] 매개 변수입니다.

출력 파일에 .NET Framework 리소스를 포함합니다.

이 매개 변수에 전달되는 항목에는 LogicalNameAccess라는 선택적 메타데이터 엔트리가 연결될 수 있습니다. LogicalName/resource 스위치의 identifier 매개 변수에 해당하고, Access는 accessibility-modifier 매개 변수에 해당합니다. 자세한 내용은 /resource(C# 컴파일러 옵션)를 참조하십시오.

ResponseFiles

선택적 String 매개 변수입니다.

이 작업에 대한 명령이 들어 있는 지시 파일을 지정합니다. 자세한 내용은 @(C# 컴파일러 옵션)을 참조하십시오.

Sources

선택적 ITaskItem[] 매개 변수입니다.

하나 이상의 Visual C# 소스 파일을 지정합니다.

TargetType

선택적 String 매개 변수입니다.

출력 파일의 파일 형식을 지정합니다. 이 매개 변수의 값으로는 코드 라이브러리를 만드는 library, 콘솔 응용 프로그램을 만드는 exe, 모듈을 만드는 module 또는 Windows 프로그램을 만드는 winexe를 사용할 수 있습니다. 기본값은 library입니다. 자세한 내용은 /target(C# 컴파일러 옵션)을 참조하십시오.

TreatWarningsAsErrors

선택적 Boolean 매개 변수입니다.

true이면 모든 경고를 오류로 취급합니다. 자세한 내용은 /warnaserror(C# 컴파일러 옵션)을 참조하십시오.

UseHostCompilerIfAvailable

선택적 Boolean 매개 변수입니다.

작업에서 가능한 경우 in-process 컴파일러 개체를 사용하도록 지시합니다. Visual Studio에만 사용됩니다.

Utf8Output

선택적 Boolean 매개 변수입니다.

UTF-8 인코딩을 사용하여 컴파일러 출력을 기록합니다. 자세한 내용은 /utf8output(C# 컴파일러 옵션)을 참조하십시오.

WarningLevel

선택적 Int32 매개 변수입니다.

표시할 컴파일러 경고 수준을 지정합니다. 자세한 내용은 /warn(C# 컴파일러 옵션)을 참조하십시오.

WarningsAsErrors

선택적 String 매개 변수입니다.

오류로 취급할 경고 목록을 지정합니다. 자세한 내용은 /warnaserror(C# 컴파일러 옵션)를 참조하십시오.

이 매개 변수는 TreatWarningsAsErrors 매개 변수를 재정의합니다.

WarningsNotAsErrors

선택적 String 매개 변수입니다.

오류로 취급하지 않을 경고 목록을 지정합니다. 자세한 내용은 /warnaserror(C# 컴파일러 옵션)를 참조하십시오.

이 매개 변수는 TreatWarningsAsErrors 매개 변수를 true로 설정한 경우에만 사용됩니다.

Win32Icon

선택적 String 매개 변수입니다.

Windows 탐색기에서 출력 파일을 원하는 모양으로 표시할 수 있도록 .ico 파일을 어셈블리에 삽입합니다. 자세한 내용은 /win32icon(C# 컴파일러 옵션)을 참조하십시오.

Win32Manifest

선택적 String 매개 변수입니다.

포함할 Win32 매니페스트를 지정합니다.

Win32Resource

선택적 String 매개 변수입니다.

Win32 리소스 파일(.res)을 출력 파일에 삽입합니다. 자세한 내용은 /win32res(C# 컴파일러 옵션)을 참조하십시오.

설명

위에 나열된 매개 변수 외에도 이 작업은 ToolTask 클래스에서 상속하는 ToolTaskExtension 클래스에서 상속하는 Microsoft.Build.Tasks.ManagedCompiler 클래스의 매개 변수를 상속합니다. 추가 매개 변수 목록과 해당 설명은 ToolTaskExtension 기본 클래스를 참조하십시오.

예제

다음 예제에서는 Compile 항목 컬렉션의 소스 파일을 사용하여 실행 파일을 컴파일하기 위해 Csc 작업을 사용합니다.

<CSC
    Sources="@(Compile)"
    OutputAssembly="$(AppName).exe"
    EmitDebugInformation="true" />

참고 항목

개념

MSBuild 작업

기타 리소스

MSBuild 작업 참조