Csc 작업
csc.exe를 래핑하고 실행( .exe 파일), 동적 연결 라이브러리( .dll 파일) 또는 코드 모듈( .netmodule 파일)을 생성합니다. csc.exe에 대한 자세한 내용은 C# 컴파일러 옵션을 참조하세요.
매개 변수
다음 표에서는 Csc
작업의 매개 변수에 대해 설명합니다.
매개 변수 | Description |
---|---|
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# 컴파일러 옵션)를 참조하세요. |
ChecksumAlgorithm |
선택적 String 매개 변수입니다.PDB 파일에 저장된 소스 파일 체크섬을 계산하기 위한 알고리즘을 지정합니다. 이 알고리즘은 SHA1(기본값) 또는 SHA256이어야 합니다. ChecksumAlgorithm을 참조하세요. |
CodeAnalysisRuleset |
선택적 String 매개 변수입니다. 특정 진단을 사용하지 않도록 설정하는 규칙 집합 파일을 지정합니다. CodeAnalysisRuleset을 참조하세요. |
CodePage |
선택적 Int32 매개 변수입니다.컴파일할 때 모든 소스 코드 파일에 사용할 코드 페이지를 지정합니다. 자세한 내용은 -codepage(C# 컴파일러 옵션)를 참조하세요. |
DebugType |
선택적 String 매개 변수입니다.디버그 형식을 지정합니다. DebugType 은 full 또는 pdbonly 가 될 수 있습니다. 기본값은 full 로, 디버거가 실행 중인 프로그램에 연결할 수 있습니다. pdbonly 를 지정하면 디버거에서 프로그램이 시작되는 경우 소스 코드 디버깅이 가능하지만, 실행 중인 프로그램이 디버거에 연결되는 경우 어셈블러만 표시됩니다.이 매개 변수는 EmitDebugInformation 매개 변수를 재정의합니다.자세한 내용은 -debug(C# 컴파일러 옵션)를 참조하세요. |
DefineConstants |
선택적 String 매개 변수입니다.전처리기 기호를 정의합니다. 자세한 내용은 -define(C# 컴파일러 옵션)을 참조하세요. |
DelaySign |
선택적 Boolean 매개 변수입니다.어셈블리에 공개 키만 저장하려 경우 true 를 지정합니다. 완전히 서명된 어셈블리를 만들려는 경우 false 를 지정합니다.이 매개 변수는 KeyFile 또는 KeyContainer 매개 변수와 함께 사용하지 않는 한 효과가 없습니다.자세한 내용은 -delaysign(C# 컴파일러 옵션)을 참조하세요. |
Deterministic |
선택적 Boolean 매개 변수입니다.true 인 경우 입력이 동일하면 컴파일 간에 이진 콘텐츠가 동일한 어셈블리를 컴파일러에서 출력하도록 합니다.자세한 내용은 -deterministic(C# 컴파일러 옵션)을 참조하세요. |
DisabledWarnings |
선택적 String 매개 변수입니다.사용하지 않을 경고 목록을 지정합니다. 자세한 내용은 -nowarn(C# 컴파일러 옵션)을 참조하세요. |
DocumentationFile |
선택적 String 매개 변수입니다.XML 파일에 대해 문서 주석을 처리합니다. 자세한 내용은 -doc(C# 컴파일러 옵션)를 참조하세요. |
EmbedAllSources |
선택적 Boolean 매개 변수입니다.PDB에 모든 소스 파일을 포함합니다. 자세한 내용은 -embed(C# 컴파일러 옵션)를 참조하세요. |
EmitDebugInformation |
선택적 Boolean 매개 변수입니다.true 인 경우 작업에서 디버깅 정보를 생성하여 프로그램 데이터베이스(.pdb) 파일에 저장합니다. false 인 경우 작업에서 디버그 정보를 내보내지 않습니다. 기본값은 false 입니다. 자세한 내용은 -debug(C# 컴파일러 옵션)를 참조하세요. |
ErrorLog |
선택적 String 매개 변수입니다.모든 컴파일러 및 분석기 진단을 로그할 파일을 지정합니다. ErrorLog를 참조하세요. |
ErrorReport |
선택적 String 매개 변수입니다.Microsoft에 C# 내부 오류를 보고하는 편리한 방법을 제공합니다. 이 매개 변수는 prompt , send 또는 none 값을 가질 수 있습니다. 매개 변수를 prompt 로 설정한 경우 내부 컴파일러 오류가 발생하면 메시지(프롬프트)가 표시됩니다. 프롬프트를 통해 Microsoft에 버그 보고서를 전자적으로 보낼 수 있습니다. 매개 변수를 send 로 설정한 경우 버그 보고서가 자동으로 전송됩니다. 매개 변수를 none 으로 설정한 경우 오류가 컴파일러의 텍스트 출력으로만 보고됩니다. 기본값은 none 입니다. 자세한 내용은 -errorreport(C# 컴파일러 옵션)를 참조하세요. |
FileAlignment |
선택적 Int32 매개 변수입니다.출력 파일에 있는 섹션의 크기를 지정합니다. 자세한 내용은 -filealign(C# 컴파일러 옵션)을 참조하세요. |
GenerateFullPaths |
선택적 Boolean 매개 변수입니다.true 인 경우 컴파일러 출력에서 파일의 절대 경로를 지정합니다. false 인 경우 파일의 이름을 지정합니다. 기본값은 false 입니다. 자세한 내용은 -fullpaths(C# 컴파일러 옵션)를 참조하세요. |
HighEntropyVA |
선택적 Boolean 매개 변수높은 엔트로피 ASLR(Address Space Layout Randomization) 사용. HighEntropyVA를 참조하세요. |
KeyContainer |
선택적 String 매개 변수입니다.암호화 키 컨테이너의 이름을 지정합니다. 자세한 내용은 -keycontainer(C# 컴파일러 옵션)를 참조하세요. |
KeyFile |
선택적 String 매개 변수입니다.암호화 키를 포함하는 파일 이름을 지정합니다. 자세한 내용은 -keyfile(C# 컴파일러 옵션)을 참조하세요. |
LangVersion |
선택적 String 매개 변수입니다.사용할 언어의 버전을 지정합니다. 자세한 내용은 -langversion(C# 컴파일러 옵션)을 참조하세요. |
LinkResources |
선택적 ITaskItem[] 매개 변수입니다.출력 파일에 .NET Framework 리소스에 대한 링크를 만듭니다. 리소스 파일은 출력 파일에 저장되지 않습니다. 이 매개 변수로 전달된 항목에는 이름이 LogicalName 및 Access 인 선택적 메타데이터 항목이 있을 수 있습니다. 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 매니페스트를 포함하지 않습니다. |
Nullable |
선택적 String 매개 변수입니다.Null 허용 컨텍스트를 지정합니다. 인수는 enable , disable , warnings 또는 annotations 중 하나여야 합니다. Null 허용을 참조하세요. |
Optimize |
선택적 Boolean 매개 변수입니다.true 인 경우 최적화를 사용할 수 있습니다. false 인 경우 최적화를 사용하지 않습니다. 자세한 내용은 -optimize(C# 컴파일러 옵션)를 참조하세요. |
OutputAssembly |
선택적 String 출력 매개 변수입니다.출력 파일의 이름을 지정합니다. 자세한 내용은 -out(C# 컴파일러 옵션)을 참조하세요. |
OutputRefAssembly |
선택적 String 매개 변수입니다.출력 참조 어셈블리 파일의 이름을 지정합니다. 자세한 내용은 -refout(C# 컴파일러 옵션)을 참조하세요. |
PathMap |
선택적 String 매개 변수입니다.실제 경로를 컴파일러에서 출력되는 소스 경로 이름에 매핑하는 방법을 지정합니다. PathMap을 참조하세요. |
PdbFile |
선택적 String 매개 변수입니다.디버그 정보 파일 이름을 지정합니다. 기본 이름은 확장명이 .pdb인 출력 파일 이름입니다. |
Platform |
선택적 String 매개 변수입니다.출력 파일의 대상으로 프로세서 플랫폼을 지정합니다. 이 매개 변수는 x86 , x64 또는 anycpu 값을 가질 수 있습니다. 기본값은 anycpu 입니다. 자세한 내용은 -platform(C# 컴파일러 옵션)을 참조하세요. |
PreferredUILang |
선택적 String 매개 변수입니다. C# 컴파일러에서 오류 메시지와 같은 출력을 표시하는 언어를 지정합니다. PreferredUILang을 참조하세요. |
PublicSign |
선택적 Boolean 매개 변수입니다. 출력 어셈블리에 공개적으로 서명합니다. PublicSign을 참조하세요. |
References |
선택적 ITaskItem[] 매개 변수입니다.작업에서 지정된 항목의 공용 형식 정보를 현재 프로젝트로 가져옵니다. 자세한 내용은 -reference(C# 컴파일러 옵션)를 참조하세요. 메타데이터 Aliases 를 원래 "참조" 항목에 추가하여 MSBuild 파일에서 C# 참조 별칭을 지정할 수 있습니다. 예를 들어 다음 Csc 명령줄에서 별칭 “LS1”을 설정하려면CSC /r:LS1=MyCodeLibrary.dll /r:LS2=MyCodeLibrary2.dll *.cs 다음과 같이 사용합니다. <Reference Include="MyCodeLibrary"> <Aliases>LS1</Aliases> </Reference> |
RefOnly |
선택적 Boolean 매개 변수입니다.주 출력으로 전체 어셈블리 대신 참조 어셈블리를 생성합니다. ProduceOnlyReferenceAssembly를 참조하세요. |
ReportAnalyzer |
선택적 Boolean 매개 변수입니다.실행 시간과 같은 추가적인 분석 정보를 보고합니다. ReportAnalyzer를 참조하세요. |
Resources |
선택적 ITaskItem[] 매개 변수입니다..NET Framework 리소스를 출력 파일에 포함합니다. 이 매개 변수로 전달된 항목에는 이름이 LogicalName 및 Access 인 선택적 메타데이터 항목이 있을 수 있습니다. LogicalName 은 /resource 스위치의 identifier 매개 변수에 해당하며, Access 는 accessibility-modifier 매개 변수에 해당합니다. 자세한 내용은 -resource(C# 컴파일러 옵션)를 참조하세요. |
ResponseFiles |
선택적 String 매개 변수입니다.이 작업에 대한 명령을 포함하는 지시 파일을 지정합니다. 자세한 내용은 @(지시 파일 지정)을 참조하세요. |
Sources |
선택적 ITaskItem[] 매개 변수입니다.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 매개 변수입니다.파일 탐색기에서 출력 파일을 원하는 모양으로 표시하는 .ico 파일을 어셈블리에 삽입합니다. 자세한 내용은 -win32icon(C# 컴파일러 옵션)을 참조하세요. |
Win32Manifest |
선택적 String 매개 변수입니다.포함할 Win32 매니페스트를 지정합니다. |
Win32Resource |
선택적 String 매개 변수입니다.Win32 리소스( .res) 파일을 출력 파일에 삽입합니다. 자세한 내용은 -win32res(C# 컴파일러 옵션)를 참조하세요. |
ToolTaskExtension 매개 변수
이 작업은 Task 클래스에서 상속되는 ToolTask 클래스에서 상속되는 ToolTaskExtension 클래스에서 상속됩니다. 이 상속 체인은 매개 변수에서 파생되는 작업에 해당 매개 변수 몇 개를 추가합니다.
다음 표에서는 기본 클래스의 매개 변수에 대해 설명합니다.
매개 변수 | Description |
---|---|
EchoOff | 선택적 bool 매개 변수입니다.true 로 설정된 경우 이 작업은 명령줄이 stdout으로 복사되지 않도록 /Q를 cmd.exe 명령줄로 전달합니다. |
EnvironmentVariables | 선택적 String 배열 매개 변수입니다.세미콜론으로 구분된 환경 변수 정의의 배열입니다. 각 정의는 환경 변수 이름 및 값을 등호로 구분하여 지정해야 합니다. 이 변수는 생성된 실행 파일에 전달되면서 일반 환경 블록에 추가되거나 일부 일반 환경 블록을 재정의합니다. 예들 들어 Variable1=Value1;Variable2=Value2 입니다. |
ExitCode | 선택적 Int32 읽기 전용 출력 매개 변수입니다.실행한 명령에서 제공하는 종료 코드를 지정합니다. 작업에서 오류를 기록했지만 프로세스가 종료 코드 0(성공)을 반환한 경우 이는 -1로 설정됩니다. |
LogStandardErrorAsError | 선택적 bool 매개 변수입니다.true 인 경우 표준 오류 스트림에서 받은 모든 메시지가 오류로 기록됩니다. |
StandardErrorImportance | 선택적 String 매개 변수입니다.표준 오류 스트림의 텍스트를 기록하는 중요도입니다. |
StandardOutputImportance | 선택적 String 매개 변수입니다.표준 출력 스트림의 텍스트를 기록할 때 적용할 중요도입니다. |
Timeout | 선택적 Int32 매개 변수입니다.작업 실행 파일이 얼마 후에 종료될 지를 밀리초 단위로 지정합니다. 기본값은 시간 제한이 없음을 나타내는 Int.MaxValue 입니다. 제한 시간(밀리초)입니다. |
ToolExe | 선택적 string 매개 변수입니다.프로젝트에서 작업의 ToolName을 재정의하기 위해 이를 구현할 수 있습니다. 작업에서는 ToolName을 유지하기 위해 이를 재정의할 수 있습니다. |
ToolPath | 선택적 string 매개 변수입니다.작업에서 내부 실행 파일을 로드할 위치를 지정합니다. 이 매개 변수를 지정하지 않으면 작업에서는 MSBuild를 실행하고 있는 프레임워크 버전에 해당하는 SDK 설치 경로가 사용됩니다. |
UseCommandProcessor | 선택적 bool 매개 변수입니다.true 로 설정된 경우 이 작업은 명령줄에 대한 배치 파일을 만들고 명령을 직접 실행하는 대신 명령 처리기를 사용하여 실행합니다. |
YieldDuringToolExecution | 선택적 bool 매개 변수입니다.true 로 설정된 경우 작업이 실행 중이면 이 작업이 노드를 발생시킵니다. |
예제
다음 예제에서는 Csc
작업을 사용하여 Compile
항목 컬렉션의 소스 파일에서 실행 파일을 컴파일합니다.
<CSC
Sources="@(Compile)"
OutputAssembly="$(AppName).exe"
EmitDebugInformation="true" />