按类别列出的 Visual Basic 编译器选项

Visual Basic 命令行编译器用作一种替代方法,用于在 Visual Studio 集成开发环境 (IDE) 中编译程序。 以下是按功能分类排序的 Visual Basic 命令行编译器选项的列表。

每个编译器选项均有两种形式:-option/option。 本文档仅介绍 -option 形式。

编译器输出

选项 目标
-nologo 禁止显示编译器横幅信息。
-utf8output 显示使用 UTF-8 编码的编译器输出。
-verbose 在编译期间输出其他信息。
-modulename:<string> 指定源模块的名称
/preferreduilang 指定编译器输出的语言。

优化

选项 目标
-filealign 指定输出文件各节的对齐位置。
-optimize 启用/禁用优化。

输出文件

选项 目标
-doc 处理 XML 文件的文档注释。
-deterministic 如果输入相同,则会导致编译器输出的程序集其二进制内容在整个编译中相同。
-netcf 将编译器设置为以 .NET Compact Framework 为目标。
-out 指定输出目录。
/refonly 仅输出引用程序集。
/refout 指定引用程序集的输出路径。
-target 指定输出的格式。

.NET 程序集

选项 目标
-addmodule 使编译器让指定文件中的所有类型信息可供当前正在编译的项目使用。
-delaysign 指定程序集是完全签名的还是部分签名的。
-imports 从指定的程序集导入命名空间。
-keycontainer 指定密钥对的密钥容器名称从而为程序集赋予强名称。
-keyfile 指定包含密钥或密钥对的文件从而为程序集赋予强名称。
-libpath 指定通过 -reference 选项引用的程序集的位置。
-reference 从程序集导入元数据。
-moduleassemblyname 指定模块所属程序集的名称。
-analyzer 从此程序集(缩写形式:-a)运行分析器
-additionalfile 命名其他文件,这些文件不会直接影响代码生成,但可能由分析器用于生成错误或警告。

调试/错误检查

选项 目标
-bugreport 创建一个文件,其中包含可以轻松报告 bug 的信息。
-debug 生成调试信息。
-nowarn 禁止编译器生成警告的能力。
-quiet 阻止编译器显示与语法相关的错误和警告的代码。
-removeintchecks 禁用整数溢出检查。
-warnaserror 将警告提升为错误。
-ruleset:<file> 指定可禁用特定诊断的规则集文件。

帮助

选项 目标
-? 显示编译器选项。 此命令等同于指定 -help 选项。 未进行编译。
-help 显示编译器选项。 此命令等同于指定 -? 选项。 未进行编译。

语言

选项 目标
-langversion 指定语言版本:9|9.0|10|10.0|11|11.0。
-optionexplicit 强制执行显式声明变量。
-optionstrict 执行严格的类语义。
-optioncompare 指定字符串比较是否应为二进制,或是否应使用特定于区域设置的文本语义。
-optioninfer 允许在变量声明中使用局部类型推理。

预处理器

选项 目标
-define 定义条件编译的符号。

资源

选项 目标
-linkresource 创建指向托管资源的链接。
-resource 将托管资源嵌入程序集。
-win32icon 将 .ico 文件插入到输出文件。
-win32resource 将 Win32 资源插入到输出文件。

杂项

选项 目标
@(指定响应文件) 指定响应文件。
-baseaddress 指定的 DLL 的基址。
-codepage 指定要用于编译中所有源代码文件的代码页。
-errorreport 指定 Visual Basic 编译器应报告内部编译器错误的方式。
-highentropyva 向 Windows 内核提供下列信息:特定的可执行文件是否支持高熵地址空间布局随机化 (ASLR)。
-main 指定包含启动时要使用的 Sub Main 过程的类。
-noconfig 不要使用 Vbc.rsp 进行编译
-nostdlib 导致编译器不引用标准库。
-nowin32manifest 指示编译器不在可执行文件中嵌入任何应用程序清单。
-platform 为输出文件指定编译器面向的处理器平台。
-recurse 搜索要编译的源文件的子目录。
-rootnamespace 指定所有类型声明的命名空间。
-sdkpath 指定 Mscorlib.dll 和 Microsoft.VisualBasic.dll 的位置。
-vbruntime 指定编译器应在不引用 Visual Basic 运行库的情况下进行编译,或在引用特定运行库的情况下进行编译。
-win32manifest 标识用户定义的 Win32 应用程序清单文件要嵌入到项目的可移植可执行 (PE) 文件。
-parallel[+&#124;-] 指定是否使用并发生成 (+)。
-checksumalgorithm:<alg> 指定用于计算 PDB 中存储的源文件校验和的算法。 受支持的值为:SHA1(默认值)或 SHA256。
由于与 SHA1 冲突,Microsoft 建议使用 SHA256 或更高版本。

请参阅