“项目设计器”->“编译”页 (Visual Basic)
使用项目设计器的**“编译”**页可以指定编译说明。 还可以在此页上指定高级编译器选项和预先生成或后期生成事件。
若要访问此**“编译”页,请在“解决方案资源管理器”中选择项目节点,然后在“项目”菜单上单击“属性”。 当项目设计器出现时,单击“编译”**选项卡。
提示
对于在以下说明中使用的某些 Visual Studio 用户界面元素,您的计算机可能会显示不同的名称或位置。这些元素取决于您所使用的 Visual Studio 版本和您所使用的设置。有关更多信息,请参见 Visual Studio 设置。
配置和平台
通过以下设置可以选择要显示或修改的配置和平台。
提示
通过简化的生成配置,项目系统确定是生成调试版本还是发布版本。 因此,不显示“配置”和“平台”列表。 有关更多信息,请参见 调试和发布项目配置。
配置
指定要显示或修改的配置设置。 设置为**“调试”(默认值)、“发布”,或“所有配置”**。 有关更多信息,请参见调试和发布项目配置和如何:创建和编辑配置。平台
指定要显示或修改的平台设置。 这些选项可能包括**“x86”(默认值)、“x64”、“Itanium”、和“任何 CPU”**。 有关更多信息,请参见 调试和发布项目配置。
编译器配置选项
可以使用以下设置来设置编译器配置选项。
生成输出路径
指定该项目的配置输出文件的位置。 在此框中键入生成输出的路径,或单击**“浏览”**按钮来选择路径。 注意,此路径是相对路径;如果输入绝对路径,它将保存为相对路径。 默认路径是 bin\Debug\ 或 bin\Release\。 有关更多信息,请参见 调试和发布项目配置。通过简化的生成配置,项目系统确定是生成调试版本还是发布版本。 **“调试”菜单上的“生成”命令 (F5) 会将生成版本放置在调试位置,而与指定的“输出路径”无关。 但是,“生成”菜单上的“生成”**会将生成版本放置在指定的位置。 有关更多信息,请参见 调试和发布项目配置。
Option Explicit
指定是否允许隐式声明变量。 选择“开启” 对变量进行显式声明。 这将使编译器在变量使用之前尚未声明的情况下报告错误。 选择**“Off”**可允许隐式声明变量。此设置对应于 /optionexplicit 编译器选项。
如果源代码文件包含 Option Explicit 语句 (Visual Basic),则语句中 On 或 Off 值将重写 Option Explicit 设置,该设置在 编译页面 上。
当您创建新项目时,“编译页”选项卡上的“Option Explicit”设置将在“Options”对话框中设为“Option Explicit”设置值。 要在此对话框中查看或更改设置,请在“工具”菜单上单击“选项”。 在“选项”对话框中展开“项目和解决方案”,然后单击**“VB 默认值”**。 “VB 默认值”中 Option Explicit 的初始默认设置为“开启”。
通常将 Off 设置成**“可选直白”** 是不恰当的操作。 您可能在一个或多个位置拼错了变量名,这在程序运行时,可能会导致意外的结果。
Option Strict
指定是否强制实施严格类型语义。 当“Option Strict”为“On”时,以下情况将导致编译时错误:隐式收缩转换
后期绑定
在 Object 类型中隐式键入结果
当存在为收缩转换的隐式数据类型转换时,出现隐式收缩转换错误。 有关更多信息,请参见Option Strict 语句、隐式转换和显式转换 (Visual Basic)和扩大转换和收缩转换 (Visual Basic)。
如果某个对象被分配给声明为 Object 类型的变量的属性或方法,该对象就是后期绑定的。 有关更多信息,请参见Option Strict 语句和早期绑定和后期绑定 (Visual Basic)。
适当的类型无法推断为已声明的变量时出现隐式对象类型错误,因此将推断 Object 类型。 这主要发生在您使用 Dim 语句(而不使用 As 子句)声明一个变量,并且 Option Infer 处于关闭状态的情况。 有关更多信息,请参见Option Strict 语句、Option Infer 语句 和 Visual Basic 语言规范。
Option Strict 设置对应于 /optionstrict 编译器选项。
如果源代码文件包含 Option Strict 语句,则语句中 On 或 Off 值将重写 Option Strict 设置,该设置在 编译页面 上。
创建项目时,“编译”页上的“选项严格”设置将在“选项”对话框中设置为“选项严格”设置的值。 要在此对话框中查看或更改设置,请在“工具”菜单上单击“选项”。 在“选项”对话框中展开“项目和解决方案”,然后单击**“VB 默认值”**。 “VB 默认值”中 Option Strict 的初始默认设置为“关闭”。
**选择严格的个别警告。“编译页面”的“警告配置”**有与 Option Strict 开启时引起编译时间错误的三种情况相对应的设置。 这些设置如下:
隐式转换
后期绑定;调用在运行时可能失败
隐式类型;假定的对象
将**“选项严格”设置为“开启”时,所有这三个警告配置设置都将被设置为“错误”。 将“选项严格”设置为“关闭”时,所有这三个设置都被设置为“无”**。
可单独将各警告配置设置更改为**“无”、“警告”或“错误”**。 如果三个警告配置都设置为 出错,则 On 会出现在 Option strict 框中。 如果三个都设置为 无,则 Off 会出现在此框中。 对于这些配置的任何其他组合,显示 “(自定义)”。
Option Compare
指定要使用的字符串比较的类型。 选择**“二进制”以指示编译器使用二进制的区分大小写的字符串比较。 选择“Text”**则使用特定于区域设置的、不区分大小写的文本字符串比较。此设置对应于 /optioncompare 编译器选项。
如果源代码文件包含 Option Compare 语句,则语句中 Binary 或 Text 值将重写 比较选项 设置,该设置在 编译页面 上。
创建项目时,“编译”页上的“选项比较”设置将在“选项”对话框中设置为“选项比较”设置的值。 要在此对话框中查看或更改设置,请在“工具”菜单上单击“选项”。 在“选项”对话框中展开“项目和解决方案”,然后单击**“VB 默认值”**。 “VB 默认值”中 Option Compare 的初始默认设置为“二进制”。
Option Infer
指定是否允许变量声明中的局部类型推理。 选择**“开启”,允许使用局部类型推理。 选择“Off”**可阻止局部类型推理。此设置对应于 /optioninfer 编译器选项。
如果源代码文件包含 Option Infer 语句,则语句中 On 或 Off 值重 Option Infer 设置,该设置在 编译页面 上。
创建项目时,“编译”页上的“选项推断”设置将在“选项”对话框中设置为“选项推断”设置的值。 要在此对话框中查看或更改设置,请在“工具”菜单上单击“选项”。 在“选项”对话框中展开“项目和解决方案”,然后单击**“VB 默认值”**。 “VB 默认值”中 Option Infer 的初始默认设置为“开启”。
警告配置
此表列出了生成条件以及对应于每个条件的通知级别(“无”、“警告”或“错误”)。默认情况下,在编译期间,所有编译器警告都被添加到任务列表中。 选择**“禁用所有警告”可以指示编译器不发出警告或错误。 如果想要编译器将警告视为必须修复的错误,请选中“将所有警告都视为错误”**。
禁用所有警告
指定是否允许编译器按照此文档中前面所述的**“条件和通知”**表中的指定发出通知。 默认情况下会清除此复选框。 选中此复选框可以指示编译器不发出警告或错误。此设置对应于 /nowarn 编译器选项。
将所有警告视为错误
指定如何处理警告。 默认情况下,此复选框会被清除,以便所有警告通知仍设置为**“警告”。 选中此复选框可将所有警告通知更改为“错误”**。此选项只有在清除**“禁用所有警告”**时才可用。
生成 XML 文档文件
指定是否生成文档信息。 默认情况下,此复选框处于选中状态,指示编译器生成文档信息并将这些信息包含在一个 XML 文件中。 清除此复选框可指示编译器不创建任何文档。此设置对应于 /doc 编译器选项。
注册 COM 互操作
指定托管应用程序是否将公开一个 COM 对象(可调用 COM 的包装),以使 COM 对象可以与托管应用程序进行交互。默认情况下,此复选框会被清除,以指定应用程序不允许 COM 互操作。 选中此复选框可允许 COM 互操作。
对于“Windows 应用程序”或“控制台应用程序”项目,此选项不可用。
生成事件
单击此按钮可访问**“生成事件”**对话框。 使用此对话框可以为项目指定预先生成或后期生成配置说明。 此对话框仅适用于 Visual Basic 项目。 有关更多信息,请参见“生成事件”对话框 (Visual Basic)。高级编译选项
单击此按钮可访问**“高级编译器设置”对话框。 使用“高级编译器设置”**对话框可以指定项目的高级生成配置属性。 此对话框仅适用于 Visual Basic 项目。 有关更多信息,请参见 “高级编译器设置”对话框 (Visual Basic)。
请参见
任务
参考
其他资源
修订记录
Date |
修订记录 |
原因 |
2011 年 4 月 |
添加了有关“Option explicit”、“Option strict”、“Option compare”和“Option infer”设置的信息。 |
信息补充。 |