Csc 작업Csc Task

CSC.exe를 래핑하고 실행(.exe) 파일, 동적 연결 라이브러리(.dll) 파일 또는 코드 모듈(.netmodule) 파일을 생성합니다.Wraps CSC.exe, and produces executables (.exe files), dynamic-link libraries (.dll files), or code modules (.netmodule files). CSC.exe에 대한 자세한 내용은 C# 컴파일러 옵션을 참조하세요.For more information about CSC.exe, see C# Compiler Options.

매개 변수Parameters

다음 표에서는 Csc 작업의 매개 변수에 대해 설명합니다.The following table describes the parameters of the Csc task.

매개 변수Parameter 설명Description
AdditionalLibPaths 선택적 String[] 매개 변수입니다.Optional String[] parameter.

참조를 검색할 추가 디렉터리를 지정합니다.Specifies additional directories to search for references. 자세한 내용은 /lib(C# 컴파일러 옵션)를 참조하세요.For more information, see /lib (C# Compiler Options).
AddModules 선택적 String 매개 변수입니다.Optional String parameter.

이 어셈블리의 일부가 될 모듈을 하나 이상 지정합니다.Specifies one or more modules to be part of the assembly. 자세한 내용은 /addmodule(C# 컴파일러 옵션)을 참조하세요.For more information, see /addmodule (C# Compiler Options).
AllowUnsafeBlocks 선택적 Boolean 매개 변수입니다.Optional Boolean parameter.

true인 경우 unsafe 키워드를 사용하는 코드를 컴파일합니다.If true, compiles code that uses the unsafe keyword. 자세한 내용은 /unsafe(C# 컴파일러 옵션)를 참조하세요.For more information, see /unsafe (C# Compiler Options).
ApplicationConfiguration 선택적 String 매개 변수입니다.Optional String parameter.

어셈블리 바인딩 설정을 포함하는 응용 프로그램 구성 파일을 지정합니다.Specifies the application configuration file containing the assembly binding settings.
BaseAddress 선택적 String 매개 변수입니다.Optional String parameter.

DLL을 로드할 기본 설정 기준 주소를 지정합니다.Specifies the preferred base address at which to load a DLL. DLL에 대한 기본 기준 주소는 .NET Framework.NET Framework 공용 언어 런타임에 의해 설정됩니다.The default base address for a DLL is set by the .NET Framework.NET Framework common language runtime. 자세한 내용은 /baseaddress(C# 컴파일러 옵션)를 참조하세요.For more information, see /baseaddress (C# Compiler Options).
CheckForOverflowUnderflow 선택적 Boolean 매개 변수입니다.Optional Boolean parameter.

데이터 형식 범위를 오버플로하는 정수 연산이 있는 경우 런타임에 예외가 발생되는지 여부를 지정합니다.Specifies whether integer arithmetic that overflows the bounds of the data type causes an exception at run time. 자세한 내용은 /checked(C# 컴파일러 옵션)를 참조하세요.For more information, see /checked (C# Compiler Options).
CodePage 선택적 Int32 매개 변수입니다.Optional Int32 parameter.

컴파일할 때 모든 소스 코드 파일에 사용할 코드 페이지를 지정합니다.Specifies the code page to use for all source code files in the compilation. 자세한 내용은 /codepage(C# 컴파일러 옵션)를 참조하세요.For more information, see /codepage (C# Compiler Options).
DebugType 선택적 String 매개 변수입니다.Optional String parameter.

디버그 형식을 지정합니다.Specifies the debug type. DebugTypefull 또는 pdbonly가 될 수 있습니다.DebugType can be full or pdbonly. 기본값은 full로, 디버거가 실행 중인 프로그램에 연결할 수 있습니다.The default is full, which enables a debugger to be attached to a running program. pdbonly를 지정하면 디버거에서 프로그램이 시작되는 경우 소스 코드 디버깅이 가능하지만, 실행 중인 프로그램이 디버거에 연결되는 경우 어셈블러만 표시됩니다.Specifying pdbonly enables source code debugging when the program is started in the debugger, but only displays assembler when the running program is attached to the debugger.

이 매개 변수는 EmitDebugInformation 매개 변수를 재정의합니다.This parameter overrides the EmitDebugInformation parameter.

자세한 내용은 /debug(C# 컴파일러 옵션)를 참조하세요.For more information, see /debug (C# Compiler Options).
DefineConstants 선택적 String 매개 변수입니다.Optional String parameter.

전처리기 기호를 정의합니다.Defines preprocessor symbols. 자세한 내용은 /define(C# 컴파일러 옵션)을 참조하세요.For more information, see /define (C# Compiler Options).
DelaySign 선택적 Boolean 매개 변수입니다.Optional Boolean parameter.

완전히 서명된 어셈블리를 만들려는 경우 true를 지정합니다.If true, specifies that you want a fully signed assembly. 어셈블리에 공개 키만 저장하려 경우 false를 지정합니다.If false, specifies that you only want to place the public key in the assembly.

이 매개 변수는 KeyFile 또는 KeyContainer 매개 변수와 함께 사용하지 않는 한 효과가 없습니다.This parameter has no effect unless used with either the KeyFile or KeyContainer parameter.

자세한 내용은 /delaysign(C# 컴파일러 옵션)을 참조하세요.For more information, see /delaysign (C# Compiler Options).
DisabledWarnings 선택적 String 매개 변수입니다.Optional String parameter.

사용하지 않을 경고 목록을 지정합니다.Specifies the list of warnings to be disabled. 자세한 내용은 /nowarn(C# 컴파일러 옵션)을 참조하세요.For more information, see /nowarn (C# Compiler Options).
DocumentationFile 선택적 String 매개 변수입니다.Optional String parameter.

XML 파일에 대해 문서 주석을 처리합니다.Processes documentation comments to an XML file. 자세한 내용은 /doc(C# 컴파일러 옵션)를 참조하세요.For more information, see /doc (C# Compiler Options).
EmitDebugInformation 선택적 Boolean 매개 변수입니다.Optional Boolean parameter.

true인 경우 작업에서 디버깅 정보를 생성하여 프로그램 데이터베이스(.pdb) 파일에 저장합니다.If true, the task generates debugging information and places it in a program database (.pdb) file. false인 경우 작업에서 디버그 정보를 내보내지 않습니다.If false, the task emits no debug information. 기본값은 false입니다.Default is false. 자세한 내용은 /debug(C# 컴파일러 옵션)를 참조하세요.For more information, see /debug (C# Compiler Options).
ErrorReport 선택적 String 매개 변수입니다.Optional String parameter.

Microsoft에 C# 내부 오류를 보고하는 편리한 방법을 제공합니다.Provides a convenient way to report a C# internal error to Microsoft. 이 매개 변수는 prompt, send 또는 none 값을 가질 수 있습니다.This parameter can have a value of prompt, send, or none. 매개 변수를 prompt로 설정한 경우 내부 컴파일러 오류가 발생하면 메시지(프롬프트)가 표시됩니다.If the parameter is set to prompt, you will receive a prompt when an internal compiler error occurs. 프롬프트를 통해 Microsoft에 버그 보고서를 전자적으로 보낼 수 있습니다.The prompt lets you send a bug report electronically to Microsoft. 매개 변수를 send로 설정한 경우 버그 보고서가 자동으로 전송됩니다.If the parameter is set to send, a bug report is sent automatically. 매개 변수를 none으로 설정한 경우 오류가 컴파일러의 텍스트 출력으로만 보고됩니다.If the parameter is set to none, the error is reported only in the text output of the compiler. 기본값은 none입니다.Default is none. 자세한 내용은 /errorreport(C# 컴파일러 옵션)를 참조하세요.For more information, see /errorreport (C# Compiler Options).
FileAlignment 선택적 Int32 매개 변수입니다.Optional Int32 parameter.

출력 파일에 있는 섹션의 크기를 지정합니다.Specifies the size of sections in the output file. 자세한 내용은 /filealign(C# 컴파일러 옵션)을 참조하세요.For more information, see /filealign (C# Compiler Options).
GenerateFullPaths 선택적 Boolean 매개 변수입니다.Optional Boolean parameter.

true인 경우 컴파일러 출력에서 파일의 절대 경로를 지정합니다.If true, specifies the absolute path to the file in the compiler output. false인 경우 파일의 이름을 지정합니다.If false, specifies the name of the file. 기본값은 false입니다.Default is false. 자세한 내용은 /fullpaths(C# 컴파일러 옵션)를 참조하세요.For more information, see /fullpaths (C# Compiler Options).
KeyContainer 선택적 String 매개 변수입니다.Optional String parameter.

암호화 키 컨테이너의 이름을 지정합니다.Specifies the name of the cryptographic key container. 자세한 내용은 /keycontainer(C# 컴파일러 옵션)를 참조하세요.For more information, see /keycontainer (C# Compiler Options).
KeyFile 선택적 String 매개 변수입니다.Optional String parameter.

암호화 키를 포함하는 파일 이름을 지정합니다.Specifies the file name containing the cryptographic key. 자세한 내용은 /keyfile(C# 컴파일러 옵션)을 참조하세요.For more information, see /keyfile (C# Compiler Options).
LangVersion 선택적 String 매개 변수입니다.Optional String parameter.

사용할 언어의 버전을 지정합니다.Specifies the version of the language to use. 자세한 내용은 /langversion(C# 컴파일러 옵션)을 참조하세요.For more information, see /langversion (C# Compiler Options).
LinkResources 선택적 ITaskItem[] 매개 변수입니다.Optional ITaskItem[] parameter.

출력 파일에 .NET Framework.NET Framework 리소스에 대한 링크를 만듭니다. 리소스 파일은 출력 파일에 저장되지 않습니다.Creates a link to a .NET Framework.NET Framework resource in the output file; the resource file is not placed in the output file.

이 매개 변수로 전달된 항목에는 이름이 LogicalNameAccess인 선택적 메타데이터 항목이 있을 수 있습니다.Items passed into this parameter can have optional metadata entries named LogicalName and Access. LogicalName/linkresource 스위치의 identifier 매개 변수에 해당하며, Accessaccessibility-modifier 매개 변수에 해당합니다.LogicalName corresponds to the identifier parameter of the /linkresource switch, and Access corresponds to accessibility-modifier parameter. 자세한 내용은 /linkresource(C# 컴파일러 옵션)를 참조하세요.For more information, see /linkresource (C# Compiler Options).
MainEntryPoint 선택적 String 매개 변수입니다.Optional String parameter.

Main 메서드의 위치를 지정합니다.Specifies the location of the Main method. 자세한 내용은 /main(C# 컴파일러 옵션)을 참조하세요.For more information, see /main (C# Compiler Options).
ModuleAssemblyName 선택적 String 매개 변수입니다.Optional String parameter.

이 모듈이 속할 어셈블리의 이름을 지정합니다.Specifies the name of the assembly that this module will be a part of.
NoConfig 선택적 Boolean 매개 변수입니다.Optional Boolean parameter.

true인 경우 csc.rsp 파일을 사용하여 컴파일하지 않도록 컴파일러에 지시합니다.If true, tells the compiler not to compile with the csc.rsp file. 자세한 내용은 /noconfig(C# 컴파일러 옵션)를 참조하세요.For more information, see /noconfig (C# Compiler Options).
NoLogo 선택적 Boolean 매개 변수입니다.Optional Boolean parameter.

true인 경우 컴파일러 배너 정보를 표시하지 않습니다.If true, suppresses display of compiler banner information. 자세한 내용은 /nologo(C# 컴파일러 옵션)를 참조하세요.For more information, see /nologo (C# Compiler Options).
NoStandardLib 선택적 Boolean 매개 변수입니다.Optional Boolean parameter.

true인 경우 전체 시스템 네임스페이스를 정의하는 mscorlib.dll을 가져올 수 없습니다.If true, prevents the import of mscorlib.dll, which defines the entire System namespace. 고유한 시스템 네임스페이스와 개체를 정의하거나 만들려면 이 매개 변수를 사용합니다.Use this parameter if you want to define or create your own System namespace and objects. 자세한 내용은 /nostdlib(C# 컴파일러 옵션)를 참조하세요.For more information, see /nostdlib (C# Compiler Options).
NoWin32Manifest 선택적 Boolean 매개 변수입니다.Optional Boolean parameter.

true인 경우 기본 Win32 매니페스트를 포함하지 않습니다.If true, do not include the default Win32 manifest.
Optimize 선택적 Boolean 매개 변수입니다.Optional Boolean parameter.

true인 경우 최적화를 사용할 수 있습니다.If true, enables optimizations. false인 경우 최적화를 사용하지 않습니다.If false, disables optimizations. 자세한 내용은 /optimize(C# 컴파일러 옵션)를 참조하세요.For more information, see /optimize (C# Compiler Options).
OutputAssembly 선택적 String 출력 매개 변수입니다.Optional String output parameter.

출력 파일의 이름을 지정합니다.Specifies the name of the output file. 자세한 내용은 /out(C# 컴파일러 옵션)을 참조하세요.For more information, see /out (C# Compiler Options).
PdbFile 선택적 String 매개 변수입니다.Optional String parameter.

디버그 정보 파일 이름을 지정합니다.Specifies the debug information file name. 기본 이름은 확장명이 .pdb인 출력 파일 이름입니다.The default name is the output file name with a .pdb extension.
Platform 선택적 String 매개 변수입니다.Optional String parameter.

출력 파일의 대상으로 프로세서 플랫폼을 지정합니다.Specifies the processor platform to be targeted by the output file. 이 매개 변수는 x86, x64 또는 anycpu 값을 가질 수 있습니다.This parameter can have a value of x86, x64, or anycpu. 기본값은 anycpu입니다.Default is anycpu. 자세한 내용은 /platform(C# 컴파일러 옵션)을 참조하세요.For more information, see /platform (C# Compiler Options).
References 선택적 ITaskItem[] 매개 변수입니다.Optional ITaskItem[] parameter.

작업에서 지정된 항목의 공용 형식 정보를 현재 프로젝트로 가져옵니다.Causes the task to import public type information from the specified items into the current project. 자세한 내용은 /reference(C# 컴파일러 옵션)를 참조하세요.For more information, see /reference (C# Compiler Options).

메타데이터 Aliases를 원래 "참조" 항목에 추가하여 MSBuildMSBuild 파일에서 Visual C#Visual C# 참조 별칭을 지정할 수 있습니다.You can specify a Visual C#Visual C# reference alias in an MSBuildMSBuild file by adding the metadata Aliases to the original "Reference" item. 예를 들어 다음 CSC 명령줄에서 별칭 "LS1"을 설정하려면For example, to set the alias "LS1" in the following CSC command line:

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

다음과 같이 사용합니다.you would use:

<Reference Include="MyCodeLibrary"> <Aliases>LS1</Aliases> </Reference>
Resources 선택적 ITaskItem[] 매개 변수입니다.Optional ITaskItem[] parameter.

출력 파일에 .NET Framework.NET Framework 리소스를 포함합니다.Embeds a .NET Framework.NET Framework resource into the output file.

이 매개 변수로 전달된 항목에는 이름이 LogicalNameAccess인 선택적 메타데이터 항목이 있을 수 있습니다.Items passed into this parameter can have optional metadata entries named LogicalName and Access. LogicalName/resource 스위치의 identifier 매개 변수에 해당하며, Accessaccessibility-modifier 매개 변수에 해당합니다.LogicalName corresponds to the identifier parameter of the /resource switch, and Access corresponds to accessibility-modifier parameter. 자세한 내용은 /resource(C# 컴파일러 옵션)를 참조하세요.For more information, see /resource (C# Compiler Options).
ResponseFiles 선택적 String 매개 변수입니다.Optional String parameter.

이 작업에 대한 명령을 포함하는 지시 파일을 지정합니다.Specifies the response file that contains commands for this task. 자세한 내용은 @ (지시 파일 지정)을 참조하세요.For more information, see @ (Specify Response File).
Sources 선택적 ITaskItem[] 매개 변수입니다.Optional ITaskItem[] parameter.

Visual C#Visual C# 소스 파일을 하나 이상 지정합니다.Specifies one or more Visual C#Visual C# source files.
TargetType 선택적 String 매개 변수입니다.Optional String parameter.

출력 파일의 파일 형식을 지정합니다.Specifies the file format of the output file. 이 매개 변수는 각각 코드 라이브러리를 만드는 library, 콘솔 응용 프로그램을 만드는 exe, 모듈을 만드는 module 또는 Windows 프로그램을 만드는 winexe를 값으로 가질 수 있습니다.This parameter can have a value of library, which creates a code library, exe, which creates a console application, module, which creates a module, or winexe, which creates a Windows program. 기본값은 library입니다.The default value is library. 자세한 내용은 /target(C# 컴파일러 옵션)을 참조하세요.For more information, see /target (C# Compiler Options).
TreatWarningsAsErrors 선택적 Boolean 매개 변수입니다.Optional Boolean parameter.

true인 경우 모든 경고를 오류로 처리합니다.If true, treats all warnings as errors. 자세한 내용은 /warnaserror(C# 컴파일러 옵션)를 참조하세요.For more information, see /warnaserror (C# Compiler Options).
UseHostCompilerIfAvailable 선택적 Boolean 매개 변수입니다.Optional Boolean parameter.

사용 가능한 경우 In Process 컴파일러 개체를 사용하도록 작업에 지시합니다.Instructs the task to use the in-process compiler object, if available. Visual StudioVisual Studio에서만 사용됩니다.Used only by Visual StudioVisual Studio.
Utf8Output 선택적 Boolean 매개 변수입니다.Optional Boolean parameter.

UTF-8 인코딩을 사용하여 컴파일러 출력을 기록합니다.Logs compiler output using UTF-8 encoding. 자세한 내용은 /utf8output(C# 컴파일러 옵션)을 참조하세요.For more information, see /utf8output (C# Compiler Options).
WarningLevel 선택적 Int32 매개 변수입니다.Optional Int32 parameter.

컴파일러에서 표시할 경고 수준을 지정합니다.Specifies the warning level for the compiler to display. 자세한 내용은 /warn(C# 컴파일러 옵션)을 참조하세요.For more information, see /warn (C# Compiler Options).
WarningsAsErrors 선택적 String 매개 변수입니다.Optional String parameter.

오류로 처리할 경고 목록을 지정합니다.Specifies a list of warnings to treat as errors. 자세한 내용은 /warnaserror(C# 컴파일러 옵션)를 참조하세요.For more information, see /warnaserror (C# Compiler Options).

이 매개 변수는 TreatWarningsAsErrors 매개 변수를 재정의합니다.This parameter overrides the TreatWarningsAsErrors parameter.
WarningsNotAsErrors 선택적 String 매개 변수입니다.Optional String parameter.

오류로 처리하지 않을 경고 목록을 지정합니다.Specifies a list of warnings that are not treated as errors. 자세한 내용은 /warnaserror(C# 컴파일러 옵션)를 참조하세요.For more information, see /warnaserror (C# Compiler Options).

이 매개 변수는 TreatWarningsAsErrors 매개 변수가 true로 설정된 경우에만 유용합니다.This parameter is only useful if the TreatWarningsAsErrors parameter is set to true.
Win32Icon 선택적 String 매개 변수입니다.Optional String parameter.

파일 탐색기에서 출력 파일을 원하는 모양으로 표시하는 .ico 파일을 어셈블리에 삽입합니다.Inserts an .ico file in the assembly, which gives the output file the desired appearance in File Explorer. 자세한 내용은 /win32icon(C# 컴파일러 옵션)을 참조하세요.For more information, see /win32icon (C# Compiler Options).
Win32Manifest 선택적 String 매개 변수입니다.Optional String parameter.

포함할 Win32 매니페스트를 지정합니다.Specifies the Win32 manifest to be included.
Win32Resource 선택적 String 매개 변수입니다.Optional String parameter.

Win32 리소스(.res) 파일을 출력 파일에 삽입합니다.Inserts a Win32 resource (.res) file in the output file. 자세한 내용은 /win32res(C# 컴파일러 옵션)를 참조하세요.For more information, see /win32res (C# Compiler Options).

설명Remarks

이 작업은 위에 나와 있는 매개 변수 외에 ToolTask 클래스에서 직접 상속하는 ToolTaskExtension 클래스에서 상속하는 Microsoft.Build.Tasks.ManagedCompiler 클래스의 매개 변수도 상속합니다.In addition to the parameters listed above, this task inherits parameters from the Microsoft.Build.Tasks.ManagedCompiler class, which inherits from the ToolTaskExtension class, which itself inherits from the ToolTask class. 이러한 추가 매개 변수 및 해당 설명이 포함된 목록은 ToolTaskExtension 기본 클래스를 참조하세요.For a list of these additional parameters and their descriptions, see ToolTaskExtension Base Class.

예제Example

다음 예제에서는 Csc 작업을 사용하여 Compile 항목 컬렉션의 소스 파일에서 실행 파일을 컴파일합니다.The following example uses the Csc task to compile an executable from the source files in the Compile item collection.

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

참고 항목See Also

작업 참조 Task Reference
작업Tasks