Vbc 任务

包装产生可执行文件 (.exe)、动态链接库 (.dll) 或代码模块 (.netmodule) 的 vbc.exe。 netmodule)。 有关 vbc.exe 的更多信息,请参见 Visual Basic 命令行编译器

参数

下表描述了 Vbc 任务的参数。

Parameter

说明

AdditionalLibPaths

可选 String[] 参数。

指定其他文件夹,将在这些文件夹中查找 References 特性中指定的程序集。

AddModules

可选 String[] 参数。

使编译器将指定文件中的所有类型信息对当前正在编译的项目可用。 此参数对应于 vbc.exe 编译器的 /addmodule 开关。

BaseAddress

可选 String 参数。

指定 DLL 的基址。 此参数对应于 vbc.exe 编译器的 /baseaddress 开关。

CodePage

可选 Int32 参数。

指定要用于编译中所有源代码文件的代码页。 此参数对应于 vbc.exe 编译器的 /codepage 开关。

DebugType

可选 String[] 参数。

使编译器生成调试信息。 此参数可以具有下列值:

  • full

  • pdbonly

默认值为 full,允许将调试器附加到正在运行的程序。 pdbonly 值允许在调试器中启动程序的时候进行源代码调试,但是,只有当将正在运行的程序附加到调试器时,才显示汇编语言代码。 有关更多信息,请参见 /debug (Visual Basic)

DefineConstants

可选 String[] 参数。

定义条件编译器常数。 符号/值对是使用下面的语法指定的,并且彼此之间用分号分隔:

symbol1=value1;symbol2=value2

此参数对应于 vbc.exe 编译器的 /define 开关。

DelaySign

可选 Boolean 参数。

如果设置为 true,任务会将公钥放置在程序集中。 如果设置为 false,则任务会对程序集进行完整签名。 默认值为 false。除非与 KeyFile 参数或 KeyContainer 参数结合使用,否则此参数不会产生任何效果。 此参数对应于 vbc.exe 编译器的 /delaysign 开关。

DisabledWarnings

可选 String 参数。

禁止显示指定的警告。 仅需要指定警告标识符的数值部分。 多个警告之间用分号分隔。 此参数对应于 vbc.exe 编译器的 /nowarn 开关。

DocumentationFile

可选 String 参数。

将文档注释处理到一个指定的 XML 文件中。 此参数重写 GenerateDocumentation 特性。 有关更多信息,请参见 /doc

EmitDebugInformation

可选 Boolean 参数。

如果设置为 true,任务将生成调试信息,并将该信息放置在 .pdb 文件中。 有关更多信息,请参见 /debug (Visual Basic)

ErrorReport

可选 String 参数。

指定任务报告内部编译器错误的方式。 此参数可以具有下列值:

  • prompt

  • send

  • none

如果指定了 prompt,那么当发生内部编译器错误时,系统将通过一个选项来询问用户是否将错误数据发送到 Microsoft。

如果指定了 send,那么当发生内部编译器错误时,任务会将错误数据发送到 Microsoft。

默认值为 none,这意味着仅在文本输出中报告错误。

此参数对应于 vbc.exe 编译器的 /errorreport 开关。

FileAlignment

可选 Int32 参数。

指定输出文件各部分的对齐位置,以字节为单位。 此参数可以具有下列值:

  • 512

  • 1024

  • 2048

  • 4096

  • 8192

此参数对应于 vbc.exe 编译器的 /filealign 开关。

GenerateDocumentation

可选 Boolean 参数。

如果设置为 true,将生成文档信息,并将此信息放置在与任务正在创建的可执行文件或库的名称相同的 XML 文件中。 有关更多信息,请参见 /doc

Imports

可选 ITaskItem[] 参数。

从指定的项集合导入命名空间。 此参数对应于 vbc.exe 编译器的 /imports 开关。

KeyContainer

可选 String 参数。

指定加密密钥容器的名称。 此参数对应于 vbc.exe 编译器的 /keycontainer 开关。

KeyFile

可选 String 参数。

指定包含加密密钥的文件名。 有关更多信息,请参见 /keyfile

LangVersion

可选 [String] 参数。

指定语言版本,“9”或“10”。

LinkResources

可选 ITaskItem[] 参数。

在输出文件中创建指向 .NET Framework 资源的链接;资源文件没有放置在输出文件中。 此参数对应于 vbc.exe 编译器的 /linkresource 开关。

MainEntryPoint

可选 String 参数。

指定包含 Sub Main 过程的类或模块。 此参数对应于 vbc.exe 编译器的 /main 开关。

ModuleAssemblyName

可选 String 参数。

指定包含此模块的程序集。

NoConfig

可选 Boolean 参数。

指定编译器不应使用 vbc.rsp 文件。 此参数对应于 vbc.exe 编译器的 /noconfig 参数。

NoLogo

可选 Boolean 参数。

如果为 true,将禁止显示编译器版本标志信息。 此参数对应于 vbc.exe 编译器的 /nologo 开关。

NoStandardLib

可选 Boolean 参数。

使编译器不引用标准库。 此参数对应于 vbc.exe 编译器的 /nostdlib 开关。

NoVBRuntimeReference

可选 Boolean 参数。

仅供内部使用。 如果为 true,则防止自动引用 Microsoft.VisualBasic.dll。

NoWarnings

可选 Boolean 参数。

如果设置为 true,任务将禁止显示所有警告。 有关更多信息,请参见 /nowarn

Optimize

可选 Boolean 参数。

如果设置为 true,将启用编译器优化。 此参数对应于 vbc.exe 编译器的 /optimize 开关。

OptionCompare

可选 String 参数。

指定如何进行字符串比较。 此参数可以具有下列值:

  • binary

  • text

如果值为 binary,表示任务应使用二进制字符串比较。 如果值为 text,表示任务应使用文本字符串比较。 此参数的默认值为 binary。 此参数对应于 vbc.exe 编译器的 /optioncompare 开关。

OptionExplicit

可选 Boolean 参数。

如果设置为 true,将需要显式声明变量。 此参数对应于 vbc.exe 编译器的 /optionexplicit 开关。

OptionInfer

可选 Boolean 参数。

如果为 true,则允许变量的类型推断。

OptionStrict

可选 Boolean 参数。

如果设置为 true,任务将强制使用严格类型语义以限制隐式类型转换。 此参数对应于 vbc.exe 编译器的 /optionstrict 开关。

OptionStrictType

可选 String 参数。

指定哪些严格的类型语义生成警告。 当前,仅支持“自定义”。 此参数对应于 vbc.exe 编译器的 /optionstrict 开关。

OutputAssembly

可选 String 输出参数。

指定输出文件的名称。 此参数对应于 vbc.exe 编译器的 /out 开关。

Platform

可选 String 参数。

指定输出文件的目标处理器平台。 此参数的值可以为 x86x64Itaniumanycpu。 默认值为 anycpu。 此参数对应于 vbc.exe 编译器的 /platform 开关。

References

可选 ITaskItem[] 参数。

使任务将公共类型信息从指定项导入到当前项目。 此参数对应于 vbc.exe 编译器的 /reference 开关。

RemoveIntegerChecks

可选 Boolean 参数。

如果设置为 true,将禁止执行整数溢出错误检查。 默认值为 false。 此参数对应于 vbc.exe 编译器的 /removeintchecks 开关。

Resources

可选 ITaskItem[] 参数。

将一个 .NET Framework 资源嵌入到输出文件中。 此参数对应于 vbc.exe 编译器的 /resource 开关。

ResponseFiles

可选 ITaskItem[] 参数。

指定包含此任务的命令的响应文件。 此参数对应于 vbc.exe 编译器的 @(指定响应文件)选项。

RootNamespace

可选 String 参数。

为所有类型声明指定根命名空间。 此参数对应于 vbc.exe 编译器的 /rootnamespace 开关。

SdkPath

可选 String 参数。

指定 mscorlib.dll 和 microsoft.visualbasic.dll 的位置。 此参数对应于 vbc.exe 编译器的 /sdkpath 开关。

Sources

可选 ITaskItem[] 参数。

指定一个或多个 Visual Basic 源文件。

TargetCompactFramework

可选 Boolean 参数。

如果设置为 true,则任务面向 .NET Compact Framework。 此开关对应于 vbc.exe 编译器的 /netcf 开关。

TargetType

可选 String 参数。

指定输出文件的文件格式。 此参数的值可以为 library(创建代码库)、exe(创建控制台应用程序)、module(创建模块)或 winexe(创建 Windows 程序)。 默认值为 library。 此参数对应于 vbc.exe 编译器的 /target 开关。

Timeout

可选 Int32 参数。

指定在多少毫秒后终止任务可执行文件。 默认值为 Int.MaxValue,这表示没有超时期限。

ToolPath

可选 String 参数。

指定任务将从什么位置加载基础可执行文件 (vbc.exe)。 如果未指定此参数,任务将使用与运行 MSBuild 的 Framework 版本对应的 SDK 安装路径。

TreatWarningsAsErrors

可选 Boolean 参数。

如果设置为 true,则所有警告都将被视为错误。 有关更多信息,请参见 /warnaserror (Visual Basic)

UseHostCompilerIfAvailable

可选 Boolean 参数。

指示任务使用进程内编译器对象(如果有的话)。 仅由 Visual Studio 使用。

Utf8Output

可选 Boolean 参数。

使用 UTF-8 编码记录编译器输出。 此参数对应于 vbc.exe 编译器的 /utf8output 开关。

Verbosity

可选 String 参数。

指定编译器输出的详细级别。 详细级别可以为 QuietNormal(默认值)或 Verbose

WarningsAsErrors

可选 String 参数。

指定将被视为错误的警告的列表。 有关更多信息,请参见 /warnaserror (Visual Basic)

此参数重写 TreatWarningsAsErrors 参数。

WarningsNotAsErrors

可选 String 参数。

指定不被视为错误的警告的列表。 有关更多信息,请参见 /warnaserror (Visual Basic)

只有当 TreatWarningsAsErrors 参数设置为 true 时,此参数才有用。

Win32Icon

可选 String 参数。

插入.ico文件程序集中,则输出文件在文件Explorer所需的外观。 此参数对应于 vbc.exe 编译器的 /win32icon 开关。

Win32Resources

可选 String 参数。

在输出文件中插入 Win32 资源文件 (.res)。 此参数对应于 vbc.exe 编译器的 /win32resource 开关。

备注

除了上面列出的参数,此任务还将从 ToolTaskExtension 类继承参数,此类本身从 ToolTask 类继承。 有关这些附加参数及其说明的列表,请参见 ToolTaskExtension 基类

示例

下面的示例编译一个 Visual Basic 项目。

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

请参见

概念

MSBuild 任务

其他资源

Visual Basic 命令行编译器

MSBuild 任务参考