Vbc 任务Vbc task

包装可生成可执行文件 (.exe)、动态链接库 (.dll) 或代码模块 (.netmodule) 的 vbc.exe 。Wraps vbc.exe , which produces executables ( .exe ), dynamic-link libraries ( .dll ), or code modules ( .netmodule ). 有关 vbc.exe 的详细信息,请参阅 Visual Basic 命令行编译器For more information on vbc.exe , see Visual Basic command-line compiler.

参数Parameters

下表描述了 Vbc 任务的参数。The following table describes the parameters of the Vbc task.

参数Parameter 说明Description
AdditionalLibPaths 可选 String[] 参数。Optional String[] parameter.

指定要在其中查找 References 属性中指定的程序集的其他文件夹。Specifies additional folders in which to look for assemblies specified in the References attribute.
AddModules 可选 String[] 参数。Optional String[] parameter.

使编译器让指定文件中的所有类型信息可供当前正在编译的项目使用。Causes the compiler to make all type information from the specified file(s) available to the project you are currently compiling. 此参数对应于 vbc.exe 编译器的 -addmodule 开关 。This parameter corresponds to the -addmodule switch of the vbc.exe compiler.
BaseAddress 可选 String 参数。Optional String parameter.

指定 DLL 的基址。Specifies the base address of the DLL. 此参数对应于 vbc.exe 编译器的 -baseaddress 开关 。This parameter corresponds to the -baseaddress switch of the vbc.exe compiler.
CodePage 可选 Int32 参数。Optional Int32 parameter.

指定要用于编译中所有源代码文件的代码页。Specifies the code page to use for all source code files in the compilation. 此参数对应于 vbc.exe 编译器的 -codepage 开关 。This parameter corresponds to the -codepage switch of the vbc.exe compiler.
DebugType 可选 String[] 参数。Optional String[] parameter.

让编译器生成调试信息。Causes the compiler to generate debugging information. 此参数可以具有下列值:This parameter can have the following values:

- full
- pdbonly

默认值为 full,该值允许将调试器附加到正在运行的程序。The default value is full, which enables attaching a debugger to the running program. pdbonly 的值允许在调试器中启动程序时进行源代码调试,但仅在正在运行的程序附加到调试器时才显示汇编语言代码。A value of pdbonly allows source code debugging when the program is started in the debugger, but displays assembly language code only when the running program is attached to the debugger. 有关详细信息,请参阅 -debug (Visual Basic)For more information, see -debug (Visual Basic).
DefineConstants 可选 String[] 参数。Optional String[] parameter.

定义条件编译器常数。Defines conditional compiler constants. 符号/值对是使用下面的语法指定的,并且彼此之间用分号分隔:Symbol/value pairs are separated by semicolons and are specified with the following syntax:

symbol1 = value1 ; symbol2 = value2symbol1 = value1 ; symbol2 = value2

此参数对应于 vbc.exe 编译器的 -define 开关 。This parameter corresponds to the -define switch of the vbc.exe compiler.
DelaySign 可选 Boolean 参数。Optional Boolean parameter.

如果为 true,任务会将公钥放在程序集中。If true, the task places the public key in the assembly. 如果为 false,任务会充分为程序集签名。If false, the task fully signs the assembly. 默认值为 false。除非与 KeyFile 参数或 KeyContainer 参数一起使用,否则此参数无效。The default value is false.This parameter has no effect unless used with the KeyFile parameter or the KeyContainer parameter. 此参数对应于 vbc.exe 编译器的 -delaysign 开关 。This parameter corresponds to the -delaysign switch of the vbc.exe compiler.
Deterministic 可选 Boolean 参数。Optional Boolean parameter.

如果为 true,则会导致编译器输出的程序集的二进制内容在整个编译中相同(如果输入相同)。If true, causes the compiler to output an assembly whose binary content is identical across compilations if inputs are identical.

有关详细信息,请参阅 -deterministicFor more information, see -deterministic.
DisabledWarnings 可选 String 参数。Optional String parameter.

禁止显示指定的警告。Suppresses the specified warnings. 只需指定警告标识符的数值部分。You only need to specify the numeric part of the warning identifier. 多个警告之间用分号分隔。Multiple warnings are separated by semicolons. 此参数对应于 vbc.exe 编译器的 -nowarn 开关 。This parameter corresponds to the -nowarn switch of the vbc.exe compiler.
DocumentationFile 可选 String 参数。Optional String parameter.

将文档注释处理到指定的 XML 文件中。Processes documentation comments to the specified XML file. 此参数替代 GenerateDocumentation 属性。This parameter overrides the GenerateDocumentation attribute. 有关详细信息,请参阅 -docFor more information, see -doc.
EmitDebugInformation 可选 Boolean 参数。Optional Boolean parameter.

如果为 true,则该任务生成调试信息并将它放置在 .pdb 文件中。 If true, the task generates debugging information and places it in a .pdb file. 有关详细信息,请参阅 -debug (Visual Basic)For more information, see -debug (Visual Basic).
ErrorReport 可选 String 参数。Optional String parameter.

指定任务报告内部编译器错误的方式。Specifies how the task should report internal compiler errors. 此参数可以具有下列值:This parameter can have the following values:

- prompt
- send
- none

如果指定了 prompt,且发生内部编译器错误,则会提示用户选择是否将错误数据发送给 Microsoft。If prompt is specified and an internal compiler error occurs, the user is prompted with an option of whether to send the error data to Microsoft.

如果指定了 send,且发生内部编译器错误,则该任务会向 Microsoft 发送错误数据。If send is specified and an internal compiler error occurs, the task sends the error data to Microsoft.

默认值是 none,它仅在文本输出中报告错误。The default value is none, which reports errors in text output only.

此参数对应于 vbc.exe 编译器的 -errorreport 开关 。This parameter corresponds to the -errorreport switch of the vbc.exe compiler.
FileAlignment 可选 Int32 参数。Optional Int32 parameter.

指定输出文件各部分的对齐位置,以字节为单位。Specifies, in bytes, where to align the sections of the output file. 此参数可以具有下列值:This parameter can have the following values:

- 512
- 1024
- 2048
- 4096
- 8192

此参数对应于 vbc.exe 编译器的 -filealign 开关 。This parameter corresponds to the -filealign switch of the vbc.exe compiler.
GenerateDocumentation 可选 Boolean 参数。Optional Boolean parameter.

如果为 true,则会生成文档信息,并将此信息与任务创建的可执行文件或库的名称一同放置在 XML 文件中。If true, generates documentation information and places it in an XML file with the name of the executable file or library that the task is creating. 有关详细信息,请参阅 -docFor more information, see -doc.
Imports 可选 ITaskItem[] 参数。Optional ITaskItem[] parameter.

从指定项集合导入命名空间。Imports namespaces from the specified item collections. 此参数对应于 vbc.exe 编译器的 -imports 开关 。This parameter corresponds to the -imports switch of the vbc.exe compiler.
KeyContainer 可选 String 参数。Optional String parameter.

指定加密密钥容器的名称。Specifies the name of the cryptographic key container. 此参数对应于 vbc.exe 编译器的 -keycontainer 开关 。This parameter corresponds to the -keycontainer switch of the vbc.exe compiler.
KeyFile 可选 String 参数。Optional String parameter.

指定含有加密密钥的文件名。Specifies the file name containing the cryptographic key. 有关详细信息,请参阅 -keyfileFor more information, see -keyfile.
LangVersion 可选 System.String 参数。Optional System.String parameter.

指定语言版本,如“15.5”。Specifies the language version, such as "15.5".
LinkResources 可选 ITaskItem[] 参数。Optional ITaskItem[] parameter.

创建指向输出文件中的 .NET Framework 资源的链接;资源文件不会放入输出文件中。Creates a link to a .NET Framework resource in the output file; the resource file is not placed in the output file. 此参数对应于 vbc.exe 编译器的 -linkresource 开关 。This parameter corresponds to the -linkresource switch of the vbc.exe compiler.
MainEntryPoint 可选 String 参数。Optional String parameter.

指定包含 Sub Main 过程的类或模块。Specifies the class or module that contains the Sub Main procedure. 此参数对应于 vbc.exe 编译器的 -main 开关 。This parameter corresponds to the -main switch of the vbc.exe compiler.
ModuleAssemblyName 可选 String 参数。Optional String parameter.

指定此模块所属程序集。Specifies the assembly that this module is a part of.
NoConfig 可选 Boolean 参数。Optional Boolean parameter.

指定编译器不应使用 vbc.rsp 文件 。Specifies that the compiler should not use the vbc.rsp file. 此参数对应于 vbc.exe 编译器的 -noconfig 参数 。This parameter corresponds to the -noconfig parameter of the vbc.exe compiler.
NoLogo 可选 Boolean 参数。Optional Boolean parameter.

如果为 true,则禁止显示编译器横幅信息。If true, suppresses display of compiler banner information. 此参数对应于 vbc.exe 编译器的 -nologo 开关 。This parameter corresponds to the -nologo switch of the vbc.exe compiler.
NoStandardLib 可选 Boolean 参数。Optional Boolean parameter.

导致编译器不引用标准库。Causes the compiler not to reference the standard libraries. 此参数对应于 vbc.exe 编译器的 -nostdlib 开关 。This parameter corresponds to the -nostdlib switch of the vbc.exe compiler.
NoVBRuntimeReference 可选 Boolean 参数。Optional Boolean parameter.

仅限内部使用。Internal use only. 如果为 true,则会阻止自动引用 Microsoft.VisualBasic.dll。 If true, prevents the automatic reference to Microsoft.VisualBasic.dll.
NoWarnings 可选 Boolean 参数。Optional Boolean parameter.

如果为 true,任务会禁止所有警告。If true, the task suppresses all warnings. 有关详细信息,请参阅 -nowarnFor more information, see -nowarn.
Optimize 可选 Boolean 参数。Optional Boolean parameter.

如果为 true,则会启用编译器优化。If true, enables compiler optimizations. 此参数对应于 vbc.exe 编译器的 -optimize 开关 。This parameter corresponds to the -optimize switch of the vbc.exe compiler.
OptionCompare 可选 String 参数。Optional String parameter.

指定如何进行字符串比较。Specifies how string comparisons are made. 此参数可以具有下列值:This parameter can have the following values:

- binary
- text

binary 指定该任务使用二进制字符串比较。The value binary specifies that the task uses binary string comparisons. text 指定该任务使用文本字符串比较。The value text specifies that the task uses text string comparisons. 此参数的默认值为 binaryThe default value of this parameter is binary. 此参数对应于 vbc.exe 编译器的 -optioncompare 开关 。This parameter corresponds to the -optioncompare switch of the vbc.exe compiler.
OptionExplicit 可选 Boolean 参数。Optional Boolean parameter.

如果为 true,则要求显式声明变量。If true, explicit declaration of variables is required. 此参数对应于 vbc.exe 编译器的 -optionexplicit 开关 。This parameter corresponds to the -optionexplicit switch of the vbc.exe compiler.
OptionInfer 可选 Boolean 参数。Optional Boolean parameter.

如果为 true,则允许对变量进行类型推理。If true, allows type inference of variables.
OptionStrict 可选 Boolean 参数。Optional Boolean parameter.

如果为 true,则任务强制执行严格类型语义,限制隐式类型转换。If true, the task enforces strict type semantics to restrict implicit type conversions. 此参数对应于 vbc.exe 编译器的 -optionstrict 开关 。This parameter corresponds to the -optionstrict switch of the vbc.exe compiler.
OptionStrictType 可选 String 参数。Optional String parameter.

指定生成警告的严格类型语义。Specifies which strict type semantics generate a warning. 当前仅支持“custom”。Currently, only "custom" is supported. 此参数对应于 vbc.exe 编译器的 -optionstrict 开关 。This parameter corresponds to the -optionstrict switch of the vbc.exe compiler.
OutputAssembly 可选 String 输出参数。Optional String output parameter.

指定输出文件的名称。Specifies the name of the output file. 此参数对应于 vbc.exe 编译器的 -out 开关 。This parameter corresponds to the -out switch of the vbc.exe compiler.
Platform 可选 String 参数。Optional String parameter.

指定将作为输出文件目标的处理器平台。Specifies the processor platform to be targeted by the output file. 此参数可以具有 x86x64``Itaniumanycpu 的值。This parameter can have a value of x86, x64, Itanium, or anycpu. 默认值为 anycpuDefault is anycpu. 此参数对应于 vbc.exe 编译器的 -platform 开关 。This parameter corresponds to the -platform switch of the vbc.exe compiler.
References 可选 ITaskItem[] 参数。Optional ITaskItem[] parameter.

促使该任务将公共类型信息从指定项导入到当前项目中。Causes the task to import public type information from the specified items into the current project. 此参数对应于 vbc.exe 编译器的 -reference 开关 。This parameter corresponds to the -reference switch of the vbc.exe compiler.
RemoveIntegerChecks 可选 Boolean 参数。Optional Boolean parameter.

如果为 true,则禁用整数溢出错误检查。If true, disables integer overflow error checks. 默认值为 falseThe default value is false. 此参数对应于 vbc.exe 编译器的 -removeintchecks 开关 。This parameter corresponds to the -removeintchecks switch of the vbc.exe compiler.
Resources 可选 ITaskItem[] 参数。Optional ITaskItem[] parameter.

将 .NET Framework 资源嵌入到输出文件。Embeds a .NET Framework resource into the output file. 此参数对应于 vbc.exe 编译器的 -resource 开关 。This parameter corresponds to the -resource switch of the vbc.exe compiler.
ResponseFiles 可选 ITaskItem[] 参数。Optional ITaskItem[] parameter.

指定包含此任务命令的响应文件。Specifies the response file that contains commands for this task. 此参数对应于 vbc.exe 编译器的 @ (指定响应文件)选项 。This parameter corresponds to the @ (Specify Response File) option of the vbc.exe compiler.
RootNamespace 可选 String 参数。Optional String parameter.

指定所有类型声明的根命名空间。Specifies the root namespace for all type declarations. 此参数对应于 vbc.exe 编译器的 -rootnamespace 开关 。This parameter corresponds to the -rootnamespace switch of the vbc.exe compiler.
SdkPath 可选 String 参数。Optional String parameter.

指定 mscorlib.dll 和 microsoft.visualbasic.dll 的位置 。Specifies the location of mscorlib.dll and microsoft.visualbasic.dll. 此参数对应于 vbc.exe 编译器的 -sdkpath 开关 。This parameter corresponds to the -sdkpath switch of the vbc.exe compiler.
Sources 可选 ITaskItem[] 参数。Optional ITaskItem[] parameter.

指定一个或多个 Visual Basic 源文件。Specifies one or more Visual Basic source files.
TargetCompactFramework 可选 Boolean 参数。Optional Boolean parameter.

如果为 true,则任务面向 .NET Compact Framework。If true, the task targets the .NET Compact Framework. 此参数对应于 vbc.exe 编译器的 -netcf 开关 。This switch corresponds to the -netcf switch of the vbc.exe compiler.
TargetType 可选 String 参数。Optional String parameter.

指定输出文件的文件格式。Specifies the file format of the output file. 此参数可以具有 librarywinexe 的值,前者将创建代码库 exe,代码库将创建控制台应用程序 module,应用程序将创建一个模块,后者将创建 Windows 程序。This parameter can have a value of library, which creates a code library, exe, which creates a console application, module, which creates a module, or winexe, which creates a Windows program. 默认值为 libraryDefault is library. 此参数对应于 vbc.exe 编译器的 -target 开关 。This parameter corresponds to the -target switch of the vbc.exe compiler.
Timeout 可选 Int32 参数。Optional Int32 parameter.

指定终止任务可执行文件之前的时间量(以毫秒为单位)。Specifies the amount of time, in milliseconds, after which the task executable is terminated. 默认值是 Int.MaxValue,指示没有超时期限。The default value is Int.MaxValue, indicating that there is no time out period.
ToolPath 可选 String 参数。Optional String parameter.

指定任务从何处加载基础可执行文件 (vbc.exe) 。Specifies the location from where the task will load the underlying executable file ( vbc.exe ). 如果未指定此参数,则任务会使用与运行 MSBuild 的框架版本对应的 SDK 安装路径。If this parameter is not specified, the task uses the SDK installation path corresponding to the version of the framework that is running MSBuild.
TreatWarningsAsErrors 可选 Boolean 参数。Optional Boolean parameter.

如果为 true,则会将所有警告视为错误。If true, all warnings are treated as errors. 有关详细信息,请参阅 -warnaserror (Visual Basic)For more information, see -warnaserror (Visual Basic).
UseHostCompilerIfAvailable 可选 Boolean 参数。Optional Boolean parameter.

指示该任务使用进程内编译器对象(如果可用)。Instructs the task to use the in-process compiler object, if available. 仅由 Visual Studio 使用。Used only by Visual Studio.
Utf8Output 可选 Boolean 参数。Optional Boolean parameter.

记录使用 UTF-8 编码的编译器输出。Logs compiler output using UTF-8 encoding. 此参数对应于 vbc.exe 编译器的 -utf8output 开关 。This parameter corresponds to the -utf8output switch of the vbc.exe compiler.
Verbosity 可选 String 参数。Optional String parameter.

指定编译器输出的详细级别。Specifies the verbosity of the compiler's output. 详细级别可以为 QuietNormal(默认)或 VerboseVerbosity can be Quiet, Normal (the default), or Verbose.
WarningsAsErrors 可选 String 参数。Optional String parameter.

指定将被视为错误的警告的列表。Specifies a list of warnings to treat as errors. 有关详细信息,请参阅 -warnaserror (Visual Basic)For more information, see -warnaserror (Visual Basic).

此参数替代 TreatWarningsAsErrors 参数。This parameter overrides the TreatWarningsAsErrors parameter.
WarningsNotAsErrors 可选 String 参数。Optional String parameter.

指定不被视为错误的警告的列表。Specifies a list of warnings that are not treated as errors. 有关详细信息,请参阅 -warnaserror (Visual Basic)For more information, see -warnaserror (Visual Basic).

只有 TreatWarningsAsErrors 参数设置为 true 时,此参数才有用。This parameter is only useful if the TreatWarningsAsErrors parameter is set to true.
Win32Icon 可选 String 参数。Optional String parameter.

在程序集中插入 .ico 文件,为输出文件赋予其在“文件资源管理器”中所需的外观 。 Inserts an .ico file in the assembly, which gives the output file the desired appearance in File Explorer. 此参数对应于 vbc.exe 编译器的 -win32icon 开关 。This parameter corresponds to the -win32icon switch of the vbc.exe compiler.
Win32Resources 可选 String 参数。Optional String parameter.

在输出文件中插入 Win32 资源 (.res) 文件 。Inserts a Win32 resource ( .res ) file in the output file. 此参数对应于 vbc.exe 编译器的 -win32resource 开关 。This parameter corresponds to the -win32resource switch of the vbc.exe compiler.

ToolTaskExtension 参数ToolTaskExtension parameters

此任务继承自 ToolTaskExtension 类,该类继承自 ToolTask 类,后者本身继承自 Task 类。This task inherits from the ToolTaskExtension class, which inherits from the ToolTask class, which itself inherits from the Task class. 此继承链向从它们派生的任务添加了几个参数。This inheritance chain adds several parameters to the tasks that derive from them.

下表介绍基类的参数:The following table describes the parameters of the base classes:

参数Parameter 描述Description
EchoOff 可选 bool 参数。Optional bool parameter.

设置为 true 时,此任务会将 /Q 传递到 cmd.exe 命令行,以便命令行不会复制到 stdout。When set to true, this task passes /Q to the cmd.exe command line such that the command line does not get copied to stdout.
EnvironmentVariables 可选的 String 数组参数。Optional String array parameter.

环境变量定义的数组,用分号分隔。Array of environment variable definitions, separated by semicolons. 每个定义都应指定用等号分隔的环境变量名称和值。Each definition should specify an environment variable name and value separated by an equal sign. 这些变量会传递到生成的可执行文件以及(有选择地重写)常规环境块。These variables are passed to the spawned executable in addition to, or selectively overriding, the regular environment block. 例如,Variable1=Value1;Variable2=Value2For example, Variable1=Value1;Variable2=Value2.
ExitCode 可选 Int32 输出只读参数。Optional Int32 output read-only parameter.

指定执行的命令提供的退出代码。Specifies the exit code that is provided by the executed command. 如果任务记录了任何错误,但进程的退出代码为 0(成功),则这设置为 -1。If the task logged any errors, but the process had an exit code of 0 (success), this is set to -1.
LogStandardErrorAsError 可选 bool 参数。Optional bool parameter.

如果是 true,则在标准错误流上收到的所有消息都记录为错误。If true, all messages received on the standard error stream are logged as errors.
StandardErrorImportance 可选 String 参数。Optional String parameter.

用于从标准输出流记录文本的重要性。Importance with which to log text from the standard out stream.
StandardOutputImportance 可选 String 参数。Optional String parameter.

用于从标准输出流记录文本的重要性。Importance with which to log text from the standard out stream.
Timeout 可选 Int32 参数。Optional Int32 parameter.

指定终止任务可执行文件之前的时间量(以毫秒为单位)。Specifies the amount of time, in milliseconds, after which the task executable is terminated. 默认值是 Int.MaxValue,指示没有超时期限。The default value is Int.MaxValue, indicating that there is no time out period. 超时以毫秒为单位。Time-out is in milliseconds.
ToolExe 可选 string 参数。Optional string parameter.

项目可能会实现此参数以重写 ToolName。Projects may implement this to override a ToolName. 任务可能会重写此参数以保留 ToolName。Tasks may override this to preserve the ToolName.
ToolPath 可选 string 参数。Optional string parameter.

指定任务从中加载基础可执行文件的位置。Specifies the location from where the task loads the underlying executable file. 如果未指定此参数,则任务会使用与运行 MSBuild 的框架版本对应的 SDK 安装路径。If this parameter is not specified, the task uses the SDK installation path that corresponds to the version of the framework that is running MSBuild.
UseCommandProcessor 可选 bool 参数。Optional bool parameter.

设置为 true 时,此任务会为命令行创建一个批处理文件,并使用命令处理器执行它(而不是直接执行命令)。When set to true, this task creates a batch file for the command line and executes it by using the command-processor instead of executing the command directly.
YieldDuringToolExecution 可选 bool 参数。Optional bool parameter.

设置为 true 时,此任务会在其任务执行时生成节点。When set to true, this task yields the node when its task is executing.

示例Example

以下示例编译 Visual Basic 项目。The following example compiles a Visual Basic project.

<VBC
   Sources="@(sources)"
   Resources="strings.resources"
   Optimize="true"
   OutputAssembly="out.exe"/>

请参阅See also