/target (Visual Basic)
更新:2007 年 11 月
指定编译器输出的格式。
/target:{exe | library | module | winexe}
备注
下表总结了 /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:module,/target 会将 .NET Framework 程序集清单添加到输出文件中。
每个 Vbc.exe 实例最多产生一个输出文件。如果多次指定编译器选项(如 /out 或 /target),则编译器处理的最后一个选项将生效。编译过程中所有文件的相关信息都添加到清单中。除了使用 /target:module 创建的输出文件以外,其他所有输出文件都会包含清单中的程序集元数据。使用 MSIL 反汇编程序 (Ildasm.exe) 可查看输出文件中的元数据。
/target 的缩写形式是 /t。
在 Visual Studio IDE 中设置 /target
在“解决方案资源管理器”中选择一个项目。在“项目”菜单上单击“属性”。有关更多信息,请参见项目设计器介绍。
单击“应用程序”选项卡。
修改“应用程序类型”框中的值。
示例
下面的代码编译 in.vb,从而创建 in.dll:
vbc /target:library in.vb