-target(Visual Basic)-target (Visual Basic)

컴파일러 출력의 형식을 지정합니다.Specifies the format of compiler output.

구문Syntax

-target:{exe | library | module | winexe | appcontainerexe | winmdobj}

설명Remarks

다음 표에는 -target 옵션의 영향이 요약되어 있습니다.The following table summarizes the effect of the -target option.

옵션Option 동작Behavior
-target:exe 컴파일러가 콘솔 애플리케이션 실행 파일을 만들도록 합니다.Causes the compiler to create an executable console application.

-target 옵션이 지정되지 않은 경우의 기본값입니다.This is the default option when no -target option is specified. 실행 파일은 .exe 확장명으로 생성됩니다.The executable file is created with an .exe extension.

-out 옵션을 사용하여 지정하지 않으면 Sub Main 프로시저가 포함된 입력 파일의 이름이 출력 파일의 이름으로 사용됩니다.Unless otherwise specified with the -out option, the output file name takes the name of the input file that contains the Sub Main procedure.

.exe 파일로 컴파일되는 소스 코드 파일에 하나의 Sub Main프로시저만 필요합니다.Only one Sub Main procedure is required in the source-code files that are compiled into an .exe file. -main 컴파일러 옵션을 사용하여 Sub Main 프로시저를 포함하는 클래스를 지정합니다.Use the -main compiler option to specify which class contains the Sub Main procedure.
-target:library 컴파일러가 DLL(동적 연결 라이브러리)을 만들도록 합니다.Causes the compiler to create a dynamic-link library (DLL).

.dll 확장명을 사용하여 동적 연결 라이브러리 파일을 만듭니다.The dynamic-link library file is created with a .dll extension.

-out 옵션을 사용하여 달리 지정되지 않은 경우 첫 번째 입력 파일의 이름이 출력 파일의 이름으로 사용됩니다.Unless otherwise specified with the -out option, the output file name takes the name of the first input file.

DLL을 빌드할 때 Sub Main 프로시저는 필요하지 않습니다.When building a DLL, a Sub Main procedure is not required.
-target:module 컴파일러가 어셈블리에 추가할 수 있는 모듈을 생성하도록 합니다.Causes the compiler to generate a module that can be added to an assembly.

출력 파일은 .netmodule 확장명을 사용하여 생성됩니다.The output file is created with an extension of .netmodule.

.NET 공용 언어 런타임에서는 어셈블리가 없는 파일을 로드할 수 없습니다.The .NET common language runtime cannot load a file that does not have an assembly. 그러나 이러한 파일은 -reference를 사용하여 어셈블리의 어셈블리 매니페스트에 통합할 수 있습니다.However, you can incorporate such a file into the assembly manifest of an assembly by using -reference.

한 모듈의 코드가 다른 모듈의 내부 형식을 참조하는 경우 -reference를 사용하여 두 모듈을 모두 어셈블리 매니페스트에 통합해야 합니다.When code in one module references internal types in another module, both modules must be incorporated into an assembly manifest by using -reference.

-addmodule 옵션은 모듈에서 메타데이터를 가져옵니다.The -addmodule option imports metadata from a module.
-target:winexe 컴파일러가 Windows 기반 애플리케이션 실행 파일을 만들도록 합니다.Causes the compiler to create an executable Windows-based application.

실행 파일은 .exe 확장명으로 생성됩니다.The executable file is created with an .exe extension. Windows 기반 애플리케이션은 .NET Framework 클래스 라이브러리나 Windows API를 통해 사용자 인터페이스를 제공하는 애플리케이션입니다.A Windows-based application is one that provides a user interface from either the .NET Framework class library or with the Windows APIs.

-out 옵션을 사용하여 지정하지 않으면 Sub Main 프로시저가 포함된 입력 파일의 이름이 출력 파일의 이름으로 사용됩니다.Unless otherwise specified with the -out option, the output file name takes the name of the input file that contains the Sub Main procedure.

.exe 파일로 컴파일되는 소스 코드 파일에 하나의 Sub Main프로시저만 필요합니다.Only one Sub Main procedure is required in the source-code files that are compiled into an .exe file. 코드에 Sub Main 프로시저가 있는 클래스가 둘 이상 있는 경우 -main 컴파일러 옵션을 사용하여 Sub Main 프로시저를 포함하는 클래스를 지정합니다.In cases where your code has more than one class that has a Sub Main procedure, use the -main compiler option to specify which class contains the Sub Main procedure
-target:appcontainerexe 컴파일러가 앱 컨테이너에서 실행해야 하는 Windows 기반 애플리케이션 실행 파일을 만들도록 합니다.Causes the compiler to create an executable Windows-based application that must be run in an app container. 이 설정은 Windows 8.x 스토어 애플리케이션에 사용하도록 설계되었습니다.This setting is designed to be used for Windows 8.x Store applications.

appcontainerexe 설정은 이식 가능 파일 파일의 특징 필드에 비트를 설정합니다.The appcontainerexe setting sets a bit in the Characteristics field of the Portable Executable file. 이 비트는 앱이 앱 컨테이너에서 실행되어야 함을 나타냅니다.This bit indicates that the app must be run in an app container. 이 비트가 설정된 경우 CreateProcess 메서드가 앱 컨테이너 밖에서 애플리케이션을 시작하려고 시도하면 오류가 발생합니다.When this bit is set, an error occurs if the CreateProcess method tries to launch the application outside of an app container. 이 비트 설정 외에 -target:appcontainerexe-target:winexe 와 동일합니다.Aside from this bit setting, -target:appcontainerexe is equivalent to -target:winexe.

실행 파일은 .exe 확장명으로 생성됩니다.The executable file is created with an .exe extension.

-out 옵션을 사용하여 지정하지 않으면 Sub Main 프로시저가 포함된 입력 파일의 이름이 출력 파일의 이름으로 사용됩니다.Unless you specify otherwise by using the -out option, the output file name takes the name of the input file that contains the Sub Main procedure.

.exe 파일로 컴파일되는 소스 코드 파일에 하나의 Sub Main프로시저만 필요합니다.Only one Sub Main procedure is required in the source-code files that are compiled into an .exe file. 코드에 Sub Main 프로시저가 있는 클래스가 둘 이상 포함되어 있는 경우 -main 컴파일러 옵션을 사용하여 Sub Main 프로시저를 포함하는 클래스를 지정합니다.If your code contains more than one class that has a Sub Main procedure, use the -main compiler option to specify which class contains the Sub Main procedure
-target:winmdobj 컴파일러가 Windows 런타임 이진(.winmd) 파일로 변환할 수 있는 중간 파일을 만들도록 합니다.Causes the compiler to create an intermediate file that you can convert to a Windows Runtime binary (.winmd) file. 관리되는 언어 프로그램뿐만 아니라 JavaScript 및 C++ 프로그램에서도 .winmd 파일을 사용할 수 있습니다.The .winmd file can be consumed by JavaScript and C++ programs, in addition to managed language programs.

중간 파일은 winmdobj 확장명을 사용하여 만들어집니다.The intermediate file is created with a .winmdobj extension.

-out 옵션을 사용하여 지정하지 않으면 첫 번째 입력 파일의 이름이 출력 파일의 이름으로 사용됩니다.Unless you specify otherwise by using the -out option, the output file name takes the name of the first input file. Sub Main 프로시저는 필요하지 않습니다.A Sub Main procedure isn’t required.

.winmdobj 파일은 Windows 메타데이터(WinMD) 파일을 생성하기 위해 WinMDExp 내보내기 도구에 대한 입력으로 사용되도록 설계되었습니다.The .winmdobj file is designed to be used as input for the WinMDExp export tool to produce a Windows metadata (WinMD) file. WinMD 파일은 .winmd 확장명을 가지며 원본 라이브러리의 코드와 JavaScript, C++ 및 Windows 런타임에서 사용하는 WinMD 정의를 모두 포함합니다.The WinMD file has a .winmd extension and contains both the code from the original library and the WinMD definitions that JavaScript, C++, and the Windows Runtime use.

-target:module을 지정하지 않으면 -target은 .NET Framework 어셈블리 매니페스트가 출력 파일에 추가되도록 합니다.Unless you specify -target:module, -target causes a .NET Framework assembly manifest to be added to an output file.

Vbc.exe의 각 인스턴스는 최대 하나의 출력 파일을 생성합니다.Each instance of Vbc.exe produces, at most, one output file. -out 또는 -target과 같은 컴파일러 옵션을 두 번 이상 지정하는 경우 컴파일러에서 마지막으로 처리한 내용이 적용됩니다.If you specify a compiler option such as -out or -target more than one time, the last one the compiler processes is put into effect. 컴파일의 모든 파일에 대한 정보가 매니페스트에 추가됩니다.Information about all files in a compilation is added to the manifest. -target:module을 사용하여 생성된 파일을 제외한 모든 출력 파일은 매니페스트에 어셈블리 메타데이터를 포함합니다.All output files except those created with -target:module contain assembly metadata in the manifest. Ildasm.exe(IL 디스어셈블러)를 사용하여 출력 파일에서 메타데이터를 봅니다.Use Ildasm.exe (IL Disassembler) to view the metadata in an output file.

-target의 약식은 -t입니다.The short form of -target is -t.

Visual Studio IDE에서 -target을 설정하려면To set -target in the Visual Studio IDE

  1. 솔루션 탐색기 에서 프로젝트를 선택합니다.Have a project selected in Solution Explorer. 프로젝트 메뉴에서 속성 을 클릭합니다.On the Project menu, click Properties.

  2. 애플리케이션 탭을 클릭합니다.Click the Application tab.

  3. 애플리케이션 종류 상자에서 값을 수정합니다.Modify the value in the Application Type box.

예제Example

다음 코드는 in.dll을 만들어 in.vb를 컴파일합니다.The following code compiles in.vb, creating in.dll:

vbc -target:library in.vb

참조See also