/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(MSIL 反汇编程序) 可查看输出文件中的元数据。
/target 的缩写形式是 /t。
在 Visual Studio IDE 中设置 /target
在**“解决方案资源管理器”中选择一个项目。 在“项目”菜单上,单击“属性”**。 有关更多信息,请参见项目设计器介绍。
单击**“应用程序”**选项卡。
修改**“应用程序类型”**框中的值。
示例
下面的代码编译 in.vb,从而创建 in.dll:
vbc /target:library in.vb
请参见
参考
概念
程序集和全局程序集缓存(C# 和 Visual Basic)