Vbc 작업

실행 파일(.exe), 동적 링크 라이브러리(.dll) 또는 코드 모듈(.netmodule)을 생성하는 vbc.exe를 래핑합니다. vbc.exe에 대한 자세한 내용은 Visual Basic 명령줄 컴파일러를 참조하세요.

매개 변수

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

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

References 특성에 지정된 어셈블리를 검색하는 추가 폴더를 지정합니다.
AddModules 선택적 String[] 매개 변수입니다.

컴파일러에서 지정된 파일의 모든 형식 정보를 현재 컴파일하고 있는 프로젝트에 사용할 수 있도록 합니다. 이 매개 변수는 vbc.exe 컴파일러의 -addmodule 스위치에 해당합니다.
BaseAddress 선택적 String 매개 변수입니다.

DLL의 기준 주소를 지정합니다. 이 매개 변수는 vbc.exe 컴파일러의 -baseaddress 스위치에 해당합니다.
CodePage 선택적 Int32 매개 변수입니다.

컴파일할 때 모든 소스 코드 파일에 사용할 코드 페이지를 지정합니다. 이 매개 변수는 vbc.exe 컴파일러의 -codepage 스위치에 해당합니다.
DebugType 선택적 String[] 매개 변수입니다.

컴파일러에서 디버깅 정보를 생성하도록 합니다. 이 매개 변수는 다음 값 중 하나를 가질 수 있습니다.

- full
- pdbonly

기본값은 full로, 디버거를 실행 중인 프로그램에 연결할 수 있습니다. pdbonly 값을 지정하면 디버거에서 프로그램이 시작되는 경우 소스 코드 디버깅이 가능하지만, 실행 중인 프로그램이 디버거에 연결되는 경우에만 어셈블리 언어 코드가 표시됩니다. 자세한 내용은 -debug(Visual Basic)를 참조하세요.
DefineConstants 선택적 String[] 매개 변수입니다.

조건부 컴파일러 상수를 정의합니다. 기호/값 쌍은 세미콜론으로 구분되고 다음 구문을 사용하여 지정됩니다.

symbol1=value1;symbol2=value2

이 매개 변수는 vbc.exe 컴파일러의 -define 스위치에 해당합니다.
DelaySign 선택적 Boolean 매개 변수입니다.

true인 경우 작업에서 공개 키를 어셈블리에 저장합니다. false인 경우 작업에서 어셈블리에 완전히 서명합니다. 기본값은 false입니다. 이 매개 변수는 KeyFile 매개 변수나 KeyContainer 매개 변수와 함께 사용하는 경우에만 영향을 미칩니다. 이 매개 변수는 vbc.exe 컴파일러의 -delaysign 스위치에 해당합니다.
Deterministic 선택적 Boolean 매개 변수입니다.

true인 경우 입력이 동일하면 컴파일 간에 이진 콘텐츠가 동일한 어셈블리를 컴파일러에서 출력하도록 합니다.

자세한 내용은 -deterministic을 참조하세요.
DisabledWarnings 선택적 String 매개 변수입니다.

지정한 경고를 표시하지 않습니다. 경고 식별자의 숫자 부분만 지정하면 됩니다. 경고가 여러 개인 경우 세미콜론으로 구분할 수 있습니다. 이 매개 변수는 vbc.exe 컴파일러의 -nowarn 스위치에 해당합니다.
DocumentationFile 선택적 String 매개 변수입니다.

지정된 XML 파일에 대해 문서 주석을 처리합니다. 이 매개 변수는 GenerateDocumentation 특성을 재정의합니다. 자세한 내용은 -doc를 참조하세요.
EmitDebugInformation 선택적 Boolean 매개 변수입니다.

true인 경우 작업에서 디버깅 정보를 생성하여 .pdb 파일에 저장합니다. 자세한 내용은 -debug(Visual Basic)를 참조하세요.
ErrorReport 선택적 String 매개 변수입니다.

작업에서 내부 컴파일러 오류를 보고하는 방식을 지정합니다. 이 매개 변수는 다음 값 중 하나를 가질 수 있습니다.

- prompt
- send
- none

prompt가 지정되고 내부 컴파일러 오류가 발생하면 사용자에게 오류 데이터를 Microsoft에 보낼지 여부를 묻는 메시지가 표시됩니다.

send가 지정되고 내부 컴파일러 오류가 발생하면 작업에서 오류 데이터를 Microsoft에 보냅니다.

기본값은 none으로, 오류를 텍스트 출력으로만 보고합니다.

이 매개 변수는 vbc.exe 컴파일러의 -errorreport 스위치에 해당합니다.
FileAlignment 선택적 Int32 매개 변수입니다.

출력 파일의 섹션에 맞출 위치(바이트)를 지정합니다. 이 매개 변수는 다음 값 중 하나를 가질 수 있습니다.

- 512
- 1024
- 2048
- 4096
- 8192

이 매개 변수는 vbc.exe 컴파일러의 -filealign 스위치에 해당합니다.
GenerateDocumentation 선택적 Boolean 매개 변수입니다.

true이면 문서 정보를 생성하여 이 정보를 작업에서 만든 실행 파일이나 라이브러리의 이름과 함께 XML 파일에 저장합니다. 자세한 내용은 -doc를 참조하세요.
Imports 선택적 ITaskItem[] 매개 변수입니다.

지정된 항목 컬렉션에서 네임스페이스를 가져옵니다. 이 매개 변수는 vbc.exe 컴파일러의 -imports 스위치에 해당합니다.
KeyContainer 선택적 String 매개 변수입니다.

암호화 키 컨테이너의 이름을 지정합니다. 이 매개 변수는 vbc.exe 컴파일러의 -keycontainer 스위치에 해당합니다.
KeyFile 선택적 String 매개 변수입니다.

암호화 키를 포함하는 파일 이름을 지정합니다. 자세한 내용은 -keyfile을 참조하세요.
LangVersion 선택적 System.String 매개 변수입니다.

언어 버전으로 예를 들어 “15.5”를 지정합니다.
LinkResources 선택적 ITaskItem[] 매개 변수입니다.

출력 파일에 .NET Framework 리소스에 대한 링크를 만듭니다. 리소스 파일은 출력 파일에 저장되지 않습니다. 이 매개 변수는 vbc.exe 컴파일러의 -linkresource 스위치에 해당합니다.
MainEntryPoint 선택적 String 매개 변수입니다.

Sub Main 프로시저가 포함된 클래스 또는 모듈을 지정합니다. 이 매개 변수는 vbc.exe 컴파일러의 -main 스위치에 해당합니다.
ModuleAssemblyName 선택적 String 매개 변수입니다.

이 모듈이 속한 어셈블리를 지정합니다.
NoConfig 선택적 Boolean 매개 변수입니다.

컴파일러에서 vbc.rsp 파일을 사용하지 않도록 지정합니다. 이 매개 변수는 vbc.exe 컴파일러의 -noconfig 매개 변수에 해당합니다.
NoLogo 선택적 Boolean 매개 변수입니다.

true인 경우 컴파일러 배너 정보를 표시하지 않습니다. 이 매개 변수는 vbc.exe 컴파일러의 -nologo 스위치에 해당합니다.
NoStandardLib 선택적 Boolean 매개 변수입니다.

컴파일러에서 표준 라이브러리를 참조하지 않도록 합니다. 이 매개 변수는 vbc.exe 컴파일러의 -nostdlib 스위치에 해당합니다.
NoVBRuntimeReference 선택적 Boolean 매개 변수입니다.

내부용으로만 사용됩니다. true이면 Microsoft.VisualBasic.dll에 대한 자동 참조를 차단합니다.
NoWarnings 선택적 Boolean 매개 변수입니다.

true이면 작업에서 모든 경고를 표시하지 않습니다. 자세한 내용은 -nowarn을 참조하세요.
Optimize 선택적 Boolean 매개 변수입니다.

true이면 컴파일러 최적화를 사용할 수 있습니다. 이 매개 변수는 vbc.exe 컴파일러의 -optimize 스위치에 해당합니다.
OptionCompare 선택적 String 매개 변수입니다.

문자열 비교 방법을 지정합니다. 이 매개 변수는 다음 값 중 하나를 가질 수 있습니다.

- binary
- text

binary 값은 작업에서 이진 문자열 비교를 사용하도록 지정합니다. text 값은 작업에서 텍스트 문자열 비교를 사용하도록 지정합니다. 이 매개 변수의 기본값은 binary입니다. 이 매개 변수는 vbc.exe 컴파일러의 -optioncompare 스위치에 해당합니다.
OptionExplicit 선택적 Boolean 매개 변수입니다.

true이면 명시적 변수 선언이 필요합니다. 이 매개 변수는 vbc.exe 컴파일러의 -optionexplicit 스위치에 해당합니다.
OptionInfer 선택적 Boolean 매개 변수입니다.

true이면 변수 형식 유추를 허용합니다.
OptionStrict 선택적 Boolean 매개 변수입니다.

true이면 작업에서 엄격한 형식 의미 체계를 적용하여 암시적 형식 변환을 제한합니다. 이 매개 변수는 vbc.exe 컴파일러의 -optionstrict 스위치에 해당합니다.
OptionStrictType 선택적 String 매개 변수입니다.

경고를 생성하는 엄격한 형식 의미 체계를 지정합니다. 현재는 “custom”만 지원됩니다. 이 매개 변수는 vbc.exe 컴파일러의 -optionstrict 스위치에 해당합니다.
OutputAssembly 선택적 String 출력 매개 변수입니다.

출력 파일의 이름을 지정합니다. 이 매개 변수는 vbc.exe 컴파일러의 -out 스위치에 해당합니다.
Platform 선택적 String 매개 변수입니다.

출력 파일의 대상으로 프로세서 플랫폼을 지정합니다. 이 매개 변수는 값 x86, x64, Itanium 또는 anycpu를 사용할 수 있습니다. 기본값은 anycpu입니다. 이 매개 변수는 vbc.exe 컴파일러의 -platform 스위치에 해당합니다.
References 선택적 ITaskItem[] 매개 변수입니다.

작업에서 지정된 항목의 공용 형식 정보를 현재 프로젝트로 가져옵니다. 이 매개 변수는 vbc.exe 컴파일러의 -reference 스위치에 해당합니다.
RemoveIntegerChecks 선택적 Boolean 매개 변수입니다.

true이면 정수 오버플로 오류 검사를 사용할 수 없습니다. 기본값은 false입니다. 이 매개 변수는 vbc.exe 컴파일러의 -removeintchecks 스위치에 해당합니다.
Resources 선택적 ITaskItem[] 매개 변수입니다.

.NET Framework 리소스를 출력 파일에 포함합니다. 이 매개 변수는 vbc.exe 컴파일러의 -resource 스위치에 해당합니다.
ResponseFiles 선택적 ITaskItem[] 매개 변수입니다.

이 작업에 대한 명령을 포함하는 지시 파일을 지정합니다. 이 매개 변수는 vbc.exe 컴파일러의 @(지시 파일 지정) 옵션에 해당합니다.
RootNamespace 선택적 String 매개 변수입니다.

모든 형식 선언에 대한 루트 네임스페이스를 지정합니다. 이 매개 변수는 vbc.exe 컴파일러의 -rootnamespace 스위치에 해당합니다.
SdkPath 선택적 String 매개 변수입니다.

mscorlib.dllmicrosoft.visualbasic.dll의 위치를 지정합니다. 이 매개 변수는 vbc.exe 컴파일러의 -sdkpath 스위치에 해당합니다.
Sources 선택적 ITaskItem[] 매개 변수입니다.

하나 이상의 Visual Basic 원본 파일을 지정합니다.
TargetCompactFramework 선택적 Boolean 매개 변수입니다.

true인 경우 작업이 .NET Compact Framework를 대상으로 지정합니다. 이 스위치는 vbc.exe 컴파일러의 -netcf 스위치에 해당합니다.
TargetType 선택적 String 매개 변수입니다.

출력 파일의 파일 형식을 지정합니다. 이 매개 변수는 각각 코드 라이브러리를 만드는 library, 콘솔 애플리케이션을 만드는 exe, 모듈을 만드는 module 또는 Windows 프로그램을 만드는 winexe를 값으로 가질 수 있습니다. 기본값은 library입니다. 이 매개 변수는 vbc.exe 컴파일러의 -target 스위치에 해당합니다.
Timeout 선택적 Int32 매개 변수입니다.

작업 실행 파일이 얼마 후에 종료될 지를 밀리초 단위로 지정합니다. 기본값은 시간 제한이 없음을 나타내는 Int.MaxValue입니다.
ToolPath 선택적 String 매개 변수입니다.

작업에서 내부 실행 파일(vbc.exe)을 로드할 위치를 지정합니다. 이 매개 변수를 지정하지 않으면 작업에서는 MSBuild를 실행하고 있는 프레임워크 버전에 해당하는 SDK 설치 경로가 사용됩니다.
TreatWarningsAsErrors 선택적 Boolean 매개 변수입니다.

true이면 모든 경고가 오류로 처리됩니다. 자세한 내용은 -warnaserror(Visual Basic)를 참조하세요.
UseHostCompilerIfAvailable 선택적 Boolean 매개 변수입니다.

사용 가능한 경우 In Process 컴파일러 개체를 사용하도록 작업에 지시합니다. Visual Studio에서만 사용됩니다.
Utf8Output 선택적 Boolean 매개 변수입니다.

UTF-8 인코딩을 사용하여 컴파일러 출력을 기록합니다. 이 매개 변수는 vbc.exe 컴파일러의 -utf8output 스위치에 해당합니다.
Verbosity 선택적 String 매개 변수입니다.

컴파일러의 출력에 대한 자세한 정도를 지정합니다. 자세한 정도는 Quiet, Normal(기본값) 또는 Verbose일 수 있습니다.
WarningsAsErrors 선택적 String 매개 변수입니다.

오류로 처리할 경고 목록을 지정합니다. 자세한 내용은 -warnaserror(Visual Basic)를 참조하세요.

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

오류로 처리하지 않을 경고 목록을 지정합니다. 자세한 내용은 -warnaserror(Visual Basic)를 참조하세요.

이 매개 변수는 TreatWarningsAsErrors 매개 변수가 true로 설정된 경우에만 유용합니다.
Win32Icon 선택적 String 매개 변수입니다.

파일 탐색기에서 출력 파일을 원하는 모양으로 표시하는 .ico 파일을 어셈블리에 삽입합니다. 이 매개 변수는 vbc.exe 컴파일러의 -win32icon 스위치에 해당합니다.
Win32Resources 선택적 String 매개 변수입니다.

Win32 리소스( .res) 파일을 출력 파일에 삽입합니다. 이 매개 변수는 vbc.exe 컴파일러의 -win32resource 스위치에 해당합니다.

ToolTaskExtension 매개 변수

이 작업은 Task 클래스에서 상속되는 ToolTask 클래스에서 상속되는 ToolTaskExtension 클래스에서 상속됩니다. 이 상속 체인은 매개 변수에서 파생되는 작업에 해당 매개 변수 몇 개를 추가합니다.

다음 표에서는 기본 클래스의 매개 변수에 대해 설명합니다.

매개 변수 Description
EchoOff 선택적 bool 매개 변수입니다.

true로 설정된 경우 이 작업은 명령줄이 stdout으로 복사되지 않도록 /Qcmd.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로 설정된 경우 작업이 실행 중이면 이 작업이 노드를 발생시킵니다.

예시

다음 예제에서는 Visual Basic 프로젝트를 컴파일합니다.

<VBC
   Sources="@(sources)"
   Resources="strings.resources"
   Optimize="true"
   OutputAssembly="out.exe"/>

참고 항목