Vbc task
Wraps vbc.exe, which produces executables (.exe), dynamic-link libraries (.dll), or code modules (.netmodule). For more information on vbc.exe, see Visual Basic command-line compiler.
Parameters
The following table describes the parameters of the Vbc
task.
Parameter | Description |
---|---|
AdditionalLibPaths |
Optional String[] parameter.Specifies additional folders in which to look for assemblies specified in the References attribute. |
AddModules |
Optional String[] parameter.Causes the compiler to make all type information from the specified file(s) available to the project you are currently compiling. This parameter corresponds to the -addmodule switch of the vbc.exe compiler. |
BaseAddress |
Optional String parameter.Specifies the base address of the DLL. This parameter corresponds to the -baseaddress switch of the vbc.exe compiler. |
CodePage |
Optional Int32 parameter.Specifies the code page to use for all source code files in the compilation. This parameter corresponds to the -codepage switch of the vbc.exe compiler. |
DebugType |
Optional String[] parameter.Causes the compiler to generate debugging information. This parameter can have the following values: - full - pdbonly The default value is full , which enables attaching a debugger to the running program. 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. For more information, see -debug (Visual Basic). |
DefineConstants |
Optional String[] parameter.Defines conditional compiler constants. Symbol/value pairs are separated by semicolons and are specified with the following syntax: symbol1 = value1 ; symbol2 = value2This parameter corresponds to the -define switch of the vbc.exe compiler. |
DelaySign |
Optional Boolean parameter.If true , the task places the public key in the assembly. If false , the task fully signs the assembly. The default value is false .This parameter has no effect unless used with the KeyFile parameter or the KeyContainer parameter. This parameter corresponds to the -delaysign switch of the vbc.exe compiler. |
Deterministic |
Optional Boolean parameter.If true , causes the compiler to output an assembly whose binary content is identical across compilations if inputs are identical.For more information, see -deterministic. |
DisabledWarnings |
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. This parameter corresponds to the -nowarn switch of the vbc.exe compiler. |
DocumentationFile |
Optional String parameter.Processes documentation comments to the specified XML file. This parameter overrides the GenerateDocumentation attribute. For more information, see -doc. |
EmitDebugInformation |
Optional Boolean parameter.If true , the task generates debugging information and places it in a .pdb file. For more information, see -debug (Visual Basic). |
ErrorReport |
Optional String parameter.Specifies how the task should report internal compiler errors. This parameter can have the following values: - prompt - send - none 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.If send is specified and an internal compiler error occurs, the task sends the error data to Microsoft.The default value is none , which reports errors in text output only.This parameter corresponds to the -errorreport switch of the vbc.exe compiler. |
FileAlignment |
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 This parameter corresponds to the -filealign switch of the vbc.exe compiler. |
GenerateDocumentation |
Optional Boolean parameter.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. For more information, see -doc. |
Imports |
Optional ITaskItem[] parameter.Imports namespaces from the specified item collections. This parameter corresponds to the -imports switch of the vbc.exe compiler. |
KeyContainer |
Optional String parameter.Specifies the name of the cryptographic key container. This parameter corresponds to the -keycontainer switch of the vbc.exe compiler. |
KeyFile |
Optional String parameter.Specifies the file name containing the cryptographic key. For more information, see -keyfile. |
LangVersion |
Optional System.String parameter. Specifies the language version, such as "15.5". |
LinkResources |
Optional ITaskItem[] parameter.Creates a link to a .NET Framework resource in the output file; the resource file is not placed in the output file. This parameter corresponds to the -linkresource switch of the vbc.exe compiler. |
MainEntryPoint |
Optional String parameter.Specifies the class or module that contains the Sub Main procedure. This parameter corresponds to the -main switch of the vbc.exe compiler. |
ModuleAssemblyName |
Optional String parameter.Specifies the assembly that this module is a part of. |
NoConfig |
Optional Boolean parameter.Specifies that the compiler should not use the vbc.rsp file. This parameter corresponds to the -noconfig parameter of the vbc.exe compiler. |
NoLogo |
Optional Boolean parameter.If true , suppresses display of compiler banner information. This parameter corresponds to the -nologo switch of the vbc.exe compiler. |
NoStandardLib |
Optional Boolean parameter.Causes the compiler not to reference the standard libraries. This parameter corresponds to the -nostdlib switch of the vbc.exe compiler. |
NoVBRuntimeReference |
Optional Boolean parameter.Internal use only. If true, prevents the automatic reference to Microsoft.VisualBasic.dll. |
NoWarnings |
Optional Boolean parameter.If true , the task suppresses all warnings. For more information, see -nowarn. |
Optimize |
Optional Boolean parameter.If true , enables compiler optimizations. This parameter corresponds to the -optimize switch of the vbc.exe compiler. |
OptionCompare |
Optional String parameter.Specifies how string comparisons are made. This parameter can have the following values: - binary - text The value binary specifies that the task uses binary string comparisons. The value text specifies that the task uses text string comparisons. The default value of this parameter is binary . This parameter corresponds to the -optioncompare switch of the vbc.exe compiler. |
OptionExplicit |
Optional Boolean parameter.If true , explicit declaration of variables is required. This parameter corresponds to the -optionexplicit switch of the vbc.exe compiler. |
OptionInfer |
Optional Boolean parameter.If true , allows type inference of variables. |
OptionStrict |
Optional Boolean parameter.If true , the task enforces strict type semantics to restrict implicit type conversions. This parameter corresponds to the -optionstrict switch of the vbc.exe compiler. |
OptionStrictType |
Optional String parameter.Specifies which strict type semantics generate a warning. Currently, only "custom" is supported. This parameter corresponds to the -optionstrict switch of the vbc.exe compiler. |
OutputAssembly |
Optional String output parameter.Specifies the name of the output file. This parameter corresponds to the -out switch of the vbc.exe compiler. |
Platform |
Optional String parameter.Specifies the processor platform to be targeted by the output file. This parameter can have a value of x86 , x64 , Itanium , or anycpu . Default is anycpu . This parameter corresponds to the -platform switch of the vbc.exe compiler. |
References |
Optional ITaskItem[] parameter.Causes the task to import public type information from the specified items into the current project. This parameter corresponds to the -reference switch of the vbc.exe compiler. |
RemoveIntegerChecks |
Optional Boolean parameter.If true , disables integer overflow error checks. The default value is false . This parameter corresponds to the -removeintchecks switch of the vbc.exe compiler. |
Resources |
Optional ITaskItem[] parameter.Embeds a .NET Framework resource into the output file. This parameter corresponds to the -resource switch of the vbc.exe compiler. |
ResponseFiles |
Optional ITaskItem[] parameter.Specifies the response file that contains commands for this task. This parameter corresponds to the @ (Specify Response File) option of the vbc.exe compiler. |
RootNamespace |
Optional String parameter.Specifies the root namespace for all type declarations. This parameter corresponds to the -rootnamespace switch of the vbc.exe compiler. |
SdkPath |
Optional String parameter.Specifies the location of mscorlib.dll and microsoft.visualbasic.dll. This parameter corresponds to the -sdkpath switch of the vbc.exe compiler. |
Sources |
Optional ITaskItem[] parameter.Specifies one or more Visual Basic source files. |
TargetCompactFramework |
Optional Boolean parameter.If true , the task targets the .NET Compact Framework. This switch corresponds to the -netcf switch of the vbc.exe compiler. |
TargetType |
Optional String parameter.Specifies the file format of the output file. 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. Default is library . This parameter corresponds to the -target switch of the vbc.exe compiler. |
Timeout |
Optional Int32 parameter.Specifies the amount of time, in milliseconds, after which the task executable is terminated. The default value is Int.MaxValue , indicating that there is no time out period. |
ToolPath |
Optional String parameter.Specifies the location from where the task will load the underlying executable file (vbc.exe). 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 |
Optional Boolean parameter.If true , all warnings are treated as errors. For more information, see -warnaserror (Visual Basic). |
UseHostCompilerIfAvailable |
Optional Boolean parameter.Instructs the task to use the in-process compiler object, if available. Used only by Visual Studio. |
Utf8Output |
Optional Boolean parameter.Logs compiler output using UTF-8 encoding. This parameter corresponds to the -utf8output switch of the vbc.exe compiler. |
Verbosity |
Optional String parameter.Specifies the verbosity of the compiler's output. Verbosity can be Quiet , Normal (the default), or Verbose . |
WarningsAsErrors |
Optional String parameter.Specifies a list of warnings to treat as errors. For more information, see -warnaserror (Visual Basic). This parameter overrides the TreatWarningsAsErrors parameter. |
WarningsNotAsErrors |
Optional String parameter.Specifies a list of warnings that are not treated as errors. For more information, see -warnaserror (Visual Basic). This parameter is only useful if the TreatWarningsAsErrors parameter is set to true . |
Win32Icon |
Optional String parameter.Inserts an .ico file in the assembly, which gives the output file the desired appearance in File Explorer. This parameter corresponds to the -win32icon switch of the vbc.exe compiler. |
Win32Resources |
Optional String parameter.Inserts a Win32 resource (.res) file in the output file. This parameter corresponds to the -win32resource switch of the vbc.exe compiler. |
ToolTaskExtension parameters
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 | Optional bool parameter.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 | 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. For example, Variable1=Value1;Variable2=Value2 . |
ExitCode | Optional Int32 output read-only parameter.Specifies the exit code that is provided by the executed command. If the task logged any errors, but the process had an exit code of 0 (success), this is set to -1. |
LogStandardErrorAsError | Optional bool parameter.If true , all messages received on the standard error stream are logged as errors. |
StandardErrorImportance | Optional String parameter.Importance with which to log text from the standard error stream. |
StandardOutputImportance | Optional String parameter.Importance with which to log text from the standard out stream. |
Timeout | Optional Int32 parameter.Specifies the amount of time, in milliseconds, after which the task executable is terminated. The default value is Int.MaxValue , indicating that there is no time out period. Time-out is in milliseconds. |
ToolExe | Optional string parameter.Projects may implement this to override a ToolName. Tasks may override this to preserve the ToolName. |
ToolPath | Optional string parameter.Specifies the location from where the task loads the underlying executable file. 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 | Optional bool parameter.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 | Optional bool parameter.When set to true , this task yields the node when its task is executing. |
Example
The following example compiles a Visual Basic project.
<VBC
Sources="@(sources)"
Resources="strings.resources"
Optimize="true"
OutputAssembly="out.exe"/>