编译页,项目设计器(Visual Basic)

注意

本页介绍 Visual Studio 2019 中的项目设计器体验,以及 Visual Studio 2022 中的 .NET Framework 项目。

使用项目设计器的 编译 页指定编译说明。 还可以在此页上指定高级编译器选项和预生成或生成后事件。

若要访问 编译 页,请在 解决方案资源管理器中选择项目节点(而不是 解决方案 节点)。 然后选择 项目菜单栏上的属性。 当项目设计器出现时,单击“编译 ”选项卡

注意

您的计算机可能会显示本文中某些 Visual Studio 用户界面元素的不同名称或位置。 你可能使用的是不同版本的 Visual Studio 或不同的环境设置。 有关详细信息,请参阅 个性化 IDE

配置和平台

通过以下设置,可以选择要显示或修改的配置和平台。

注意

使用简化的生成配置,项目系统确定是生成调试版本还是发布版本。 因此,不会显示 配置平台 列表。

配置

指定要显示或修改的配置设置。 设置 调试(默认值)、发布所有配置。 有关详细信息,请参阅 了解生成配置以及如何:创建和编辑配置

平台

指定要显示或修改的平台设置。 可以指定 任何 CPU(默认值)、x64x86

编译器配置选项

通过以下设置,可以设置编译器配置选项。

生成输出路径

指定此项目的配置的输出文件的位置。 在此框中键入生成输出的路径,或单击 “浏览”按钮选择路径。 请注意,路径是相对路径;如果输入绝对路径,它将保存为相对路径。 默认路径为 bin\Debug\ 或 bin\Release\。

使用简化的生成配置,项目系统确定是生成调试版本还是发布版本。 “生成” 命令将从 “调试”菜单(F5)将生成置于调试位置,而不考虑你指定的 输出 路径。 但是,“生成”菜单中的“生成” 命令将其置于指定的位置。

选项显式

指定是否允许隐式声明变量。 选择 on 以要求显式声明变量。 这会导致编译器在使用变量之前未声明错误时报告错误。 选择“关闭 以允许隐式声明变量。

此设置对应于 /optionexplicit 编译器选项。

如果源代码文件包含 Option Explicit 语句,则语句中的 OnOff 值将替代 编译页上的 选项显式 设置。

创建新项目时,“编译” 页上的 选项显式 设置设置为 “选项”对话框中 选项显式 设置的值。 若要查看或更改此对话框中的设置,请在“工具”菜单上,单击 选项。 在 选项 对话框中,展开 项目和解决方案,然后单击 VB 默认值VB 默认值选项显式 的初始默认设置 on

选项显式 设置为 Off 通常不是一种好的做法。 可以在一个或多个位置中错报变量名称,这会导致程序运行时出现意外结果。

选项严格

指定是否强制实施严格的类型语义。 当 选项严格on时,以下条件会导致编译时错误:

  • 隐式缩小转换

  • 后期绑定

  • 导致 Object 类型的隐式键入

当存在隐式数据类型转换是缩小转换时,会发生隐式缩小转换错误。 有关详细信息,请参阅 Option Strict 语句隐式和显式转换,以及 扩大和缩小转换

当对象被赋给声明为 Object类型的变量的属性或方法时,该对象将延迟绑定。 有关详细信息,请参阅 Option Strict 语句早期和后期绑定

如果无法推断声明变量的相应类型,则会发生隐式对象类型错误,因此推断出 Object 类型。 这主要发生在使用 Dim 语句声明变量而不使用 As 子句,并且 Option Infer 处于关闭状态时。 有关详细信息,请参阅 Option Strict 语句Option 推理语句Visual Basic 语言规范

Option Strict 设置对应于 /optionstrict 编译器选项。

如果源代码文件包含 Option Strict 语句,则语句中的 OnOff 值将替代 编译页Option Strict 设置。

创建项目时,“编译” 页上的“选项严格” 设置设置为“选项 对话框中 选项严格 设置的值。 若要查看或更改此对话框中的设置,请在“工具”菜单上,单击 选项。 在 选项 对话框中,展开 项目和解决方案,然后单击 VB 默认值VB 默认值选项严格 的初始默认设置 关闭

选项严格个人警告

编译部分 警告配置具有与 Option Strict 打开时导致编译时错误的三个条件对应的设置。 以下是以下设置:

  • 隐式转换

  • 后期绑定;调用可能在运行时失败

  • 隐式类型;对象假定为

将“选项严格” 设置为 on时,这三个警告配置设置都设置为 错误。 将选项严格 设置为 关闭时,所有三个设置都设置为“无”

可以单独将每个警告配置设置更改为 “无”、“警告”或 错误。 如果所有三个警告配置设置都设置为 错误On 将显示在 Option strict 框中。 如果这三者都设置为“无 ,则此框中将显示 Off。 对于这些设置的任何其他组合,将显示 (自定义)

选项比较

指定要使用的字符串比较的类型。 选择 二进制,指示编译器使用二进制区分大小写的字符串比较。 选择 文本 以使用特定于区域设置且不区分大小写的文本字符串比较。

此设置对应于 /optioncompare 编译器选项。

如果源代码文件包含 Option Compare 语句,则语句中的 BinaryText 值将替代 编译页选项比较 设置。

创建项目时,“编译” 页上的“选项比较” 设置设置为 “选项”对话框中 选项比较 设置的值。 若要查看或更改此对话框中的设置,请在“工具”菜单上,单击 选项。 在 选项 对话框中,展开 项目和解决方案,然后单击 VB 默认值VB 默认值选项比较 的初始默认设置 二进制

选项推断

指定是否允许变量声明中的本地类型推理。 选择 打开 以允许使用本地类型推理。 选择“关闭 以阻止本地类型推理。

此设置对应于 /optioninfer 编译器选项。

如果源代码文件包含 Option Infer 语句,则语句中的 OnOff 值将替代 编译页上的 Option Infer 设置

创建项目时,“编译” 页上的 选项推断 设置设置为 “选项”对话框中 选项推断 设置的值。 若要查看或更改此对话框中的设置,请在“工具”菜单上,单击 选项。 在 选项 对话框中,展开 项目和解决方案,然后单击 VB 默认值VB 默认值选项推断 的初始默认设置 on

目标 CPU

指定要由输出文件面向的处理器。 为任何 32 位 Intel 兼容的处理器指定 x86为任何 64 位 Intel 兼容处理器指定 x64任何 ARM 处理器的 ARM,或 任何 CPU 指定任何处理器是可接受的。 任何 CPU 都是新项目的默认值,因为它允许应用程序在最大数量的硬件类型上运行。

有关详细信息,请参阅 /platform (Visual Basic)

首选 32 位

如果选择了 Prefer32 位 复选框,则应用程序在 32 位和 64 位版本的 Windows 上运行为 32 位应用程序。 否则,应用程序在 32 位版本的 Windows 上运行为 32 位应用程序,在 64 位版本的 Windows 上运行为 64 位应用程序。

以 64 位应用程序的形式运行会使指针大小翻倍,这可能会导致库的兼容性问题,这些库完全为 32 位。 仅当应用程序运行速度明显快或需要超过 4 GB 内存时,才能将应用程序作为 64 位运行是有意义的。

仅当以下所有条件均为 true 时,此复选框才可用:

  • 编译页目标 CPU 列表设置为 任何 CPU

  • 应用程序页上应用程序类型 列表指定项目是应用程序。

  • 应用程序页上目标框架 列表指定 .NET Framework 4.5。

警告配置

下表列出了生成条件和相应的通知级别,警告错误

默认情况下,编译期间所有编译器警告都会添加到任务列表中。 选择 禁用 的所有警告,以指示编译器不发出警告或错误。 如果希望编译器将警告视为必须修复的错误,请选择 将所有警告视为错误

禁用所有警告

指定是否允许编译器按照本文档前面所述的 条件和通知 表中指定的通知发出通知。 默认情况下,清除此复选框。 选中此复选框可指示编译器不发出警告或错误。

此设置对应于 /nowarn 编译器选项。

将所有警告视为错误

指定如何处理警告。 默认情况下,清除此复选框,以便所有警告通知都设置为 警告。 选中此复选框,将所有警告通知更改为 错误

仅当清除 禁用所有警告 时,此选项才可用。

生成 XML 文档文件

指定是否生成文档信息。 默认情况下,选中此复选框,指示编译器生成文档信息并将其包含在 XML 文件中。 清除此复选框以指示编译器不创建文档。

此设置对应于 /doc 编译器选项。

注册 COM 互作

指定托管应用程序是否会公开 COM 对象(COM 可调用包装器),使 COM 对象能够与应用程序交互。

默认情况下,清除此复选框,该复选框指定应用程序不允许 COM 互作。 选中此复选框以允许 COM 互作。

此选项不适用于 Windows 应用程序或控制台应用程序项目。

生成事件

单击此按钮可以访问 生成事件 对话框。 使用此对话框可以指定项目的预生成和生成后配置说明。 此对话框仅适用于 Visual Basic 项目。 有关详细信息,请参阅 生成事件对话框(Visual Basic)

高级编译选项

单击此按钮可以访问“AdvancedCompiler 设置” 对话框。 使用“AdvancedCompiler 设置” 对话框指定项目的高级生成配置属性。 此对话框仅适用于 Visual Basic 项目。 有关详细信息,请参阅 “高级编译器设置”对话框(Visual Basic)

另请参阅