/target (Visual Basic)

指定编译器输出的格式。

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

备注

下表总结了 /target 选项的影响。

选项

行为

/target:exe

使编译器创建可执行的控制台应用程序。

如果不指定 /target 选项,则它为默认选项。 创建带有 .exe 扩展名的可执行文件。

除非使用 /out 选项另行指定,否则,输出文件的名称将采用包含 Sub Main 过程的输入文件的名称。

在要编译为 .exe 文件的源代码文件中只需要一个 Sub Main 过程。 使用 /main 编译器选项可指定哪个类包含 Sub Main 过程。

/target:library

使编译器创建动态链接库 (DLL)。

所创建的动态链接库文件具有 .dll 扩展名。

除非用 /out 选项另外指定,否则输出文件的名称将采用第一个输入文件的名称。

生成 DLL 时,不需要 Sub Main 过程。

/target:module

使编译器生成一个可以添加到程序集中的模块。

所创建的输出文件具有 扩展名。 netmodule。

.NET 公共语言运行时无法加载没有程序集的文件。 但是,可以通过使用 /reference 将这样的文件合并到程序集的程序集清单中。

如果一个模块中的代码引用了另一个模块中的内部类型,则必须使用 /reference 将两个模块合并到一个程序集清单中。

/addmodule 选项导入模块中的元数据。

/target:winexe

使编译器创建一个基于 Windows 的可执行应用程序。

创建带有 .exe 扩展名的可执行文件。 基于 Windows 的应用程序是一种通过 .NET Framework 类库或使用 Win32 API 提供用户界面的程序。

除非使用 /out 选项另行指定,否则,输出文件的名称将采用包含 Sub Main 过程的输入文件的名称。

在要编译为 .exe 文件的源代码文件中只需要一个 Sub Main 过程。 如果代码中有多个包含 Sub Main 过程的类,则可以使用 /main 编译器选项指定包含 Sub Main 过程的类。

/target:appcontainerexe

导致编译器创建在应用容器必须运行的可执行基于 windows 的应用程序。 此设置会用于 Windows 应用商店 应用程序。

appcontainerexe 将的属性设置 可移植可执行文件 为个文件字段。 此位指示在应用容器必须运行应用程序。 当该位为设置时,将会出错,如果 CreateProcess 方法尝试启动应用程序在应用容器外部。 除了设置此的位外,/target:appcontainerexe/target:winexe等效。

创建带有 .exe 扩展名的可执行文件。

使用 /out 选项,除非另外指定,输出文件名采用包含 Sub Main 程序输入文件的名称。

在要编译为 .exe 文件的源代码文件中只需要一个 Sub Main 过程。 如果代码包含多个具有一个 Sub Main 程序的一选件类,请使用 /main 编译器选项指定要选件类包含 Sub Main 程序

/target:winmdobj

导致编译器创建可转换为 Windows 运行时二进制文件的一个中间文件(.winmd)文件。 除托管语言过程之外,.winmd 文件可以由 JavaScript 和 C++程序使用。

中间文件的.winmdobj 扩展创建。

使用 /out 选项,除非另外指定,输出文件名采用第一个输入文件的名称。 不需要 Sub Main 程序。

.winmdobj 文件旨在用作输入以 WinMDExp 导出工具会导致 Windows 元数据(WinMD)文件。 WinMD 文件的.winmd 扩展并包含从原始库的代码和 JavaScript、C++和 Windows 运行时使用的 WinMD 定义。

如果不指定 /target:module,/target 会将 .NET Framework 程序集清单添加到输出文件中。

每个 Vbc.exe 实例最多产生一个输出文件。 如果多次指定编译器选项(如 /out 或 /target),则编译器处理的最后一个选项将生效。 编译过程中所有文件的相关信息都添加到清单中。 除了使用 /target:module 创建的输出文件以外,其他所有输出文件都会包含清单中的程序集元数据。 使用 Ildasm.exe(IL 反汇编程序) 可查看输出文件中的元数据。

/target 的缩写形式是 /t。

在 Visual Studio IDE 中设置 /target

  1. 在**“解决方案资源管理器”中选择一个项目。 在“项目”菜单上,单击“属性”**。 有关更多信息,请参见项目设计器介绍

  2. 单击**“应用程序”**选项卡。

  3. 修改**“应用程序类型”**框中的值。

示例

下面的代码编译 in.vb,从而创建 in.dll:

vbc /target:library in.vb

请参见

参考

/main

/out (Visual Basic)

/reference (Visual Basic)

/addmodule

/moduleassemblyname

示例编译命令行 (Visual Basic)

概念

程序集和全局程序集缓存(C# 和 Visual Basic)

其他资源

Visual Basic 命令行编译器