Summary
This tasks allows you to run MIDL.exe.
- Assembly
- NAnt
.VisualCpp .dll - Namespace
- NAnt
.VisualCpp .Tasks - Interfaces
- Base Types
-
- Object
- Element
- Task
- ExternalProgramBase
graph BT
Type-->Base0["ExternalProgramBase"]
click Base0 "/api/NAnt.Core.Tasks/ExternalProgramBase"
Base0-->Base1["Task"]
click Base1 "/api/NAnt.Core/Task"
Base1-->Base2["Element"]
click Base2 "/api/NAnt.Core/Element"
Base2-->Base3["Object"]
Type-.->Interface0["IConditional"]
click Interface0 "/api/NAnt.Core/IConditional"
Type["MidlTask"]
class Type type-node
Syntax
[TaskName("midl")]
public class MidlTask : ExternalProgramBase, IConditional
Examples
<midl
env="win32"
Oi="cf"
tlb="${outputdir}\TempAtl.tlb"
header="${outputdir}\TempAtl.h"
iid="${outputdir}\TempAtl_i.c"
proxy="${outputdir}\TempAtl_p.c"
filename="TempAtl.idl"
>
<defines>
<define name="_DEBUG"/>
<define name="WIN32" value="1"/>
</defines>
<options>
<option name="/mktyplib203"/>
<option name="/error" value="allocation"/>
</options>
</midl>
Remarks
This task only supports a small subset of the MIDL.EXE command line switches, but you can use the options element to specify any other unsupported commands you want to specify.
Attributes
Type | Description |
---|---|
TaskNameAttribute | Indicates that class should be treated as a task. |
Fields
Name | Constant Value | Summary |
---|---|---|
UnknownExitCode | -1000 |
Defines the exit code that will be returned by
NAnt.Core.Tasks.ExternalProgramBase.ExitCode
if the process could not be started, or did not exit (in time).
Inherited from ExternalProgramBase
static
|
Properties
Name | Value | Summary |
---|---|---|
Acf | string |
The /acf switch allows the user to supply an
explicit ACF file name. The switch also
allows the use of different interface names in
the IDL and ACF files.
|
Align | string |
The /align switch is functionally the same as the
MIDL /Zp option and is recognized by the MIDL compiler
solely for backward compatibility with MkTypLib.
|
AppConfig | bool |
The /app_config switch selects application-configuration
mode, which allows you to use some ACF keywords in the
IDL file. With this MIDL compiler switch, you can omit
the ACF and specify an interface in a single IDL file.
|
Arguments | ArgumentCollection |
The command-line arguments for the external program.
Inherited from ExternalProgramBase
|
BaseDirectory | DirectoryInfo |
Gets the working directory for the application.
Inherited from ExternalProgramBase
|
Char | string |
The /char switch helps to ensure that the MIDL compiler
and C compiler operate together correctly for all char
and small types.
|
Client | string |
The /client switch directs the MIDL compiler to generate
client-side C source files for an RPC interface
|
CommandLine | string |
Gets the command-line arguments, separated by spaces.
Inherited from ExternalProgramBase
|
CStub | string |
The /cstub switch specifies the name of the client
stub file for an RPC interface.
|
CustomXmlProcessing | bool |
Gets a value indicating whether the element is performing additional
processing using the
NAnt.Core.Element.XmlNode that was used to
initialize the element.
Inherited from Element
|
Defines | OptionCollection |
Macro definitions to pass to mdil.exe.
Each entry will generate a /D
|
DllData | FileInfo |
Specifies the file name for the generated dlldata file for a proxy
DLL. The default file name Dlldata.c is used if
NAnt.VisualCpp.Tasks.MidlTask.DllData is not specified.
|
Env | string |
The /env switch selects the
environment in which the application runs.
|
ErrorWriter | TextWriter |
Gets or sets the
System.IO.TextWriter to which error output
of the external program will be written.
Inherited from ExternalProgramBase
|
ExeName | string |
The name of the executable that should be used to launch the
external program.
Inherited from ExternalProgramBase
|
ExitCode | int |
Gets the value that the process specified when it terminated.
Inherited from ExternalProgramBase
|
FailOnError | bool |
Determines if task failure stops the build, or is just reported.
The default is
true .
Inherited from Task
|
Filename | FileInfo |
Name of .IDL file to process.
|
Header | FileInfo |
Specifies the name of the header file.
|
IfDefined | bool |
If
true then the task will be executed; otherwise,
skipped. The default is true .
Inherited from Task
|
Iid | FileInfo |
Specifies the name of the interface identifier file for a COM
interface, overriding the default name obtained by adding _i.c
to the IDL file name.
|
IncludeDirs | FileSet |
The list of directories in which to search for include files.
|
Location | Location |
Gets or sets the location in the build file where the element is
defined.
Inherited from Element
|
LogPrefix | string |
The prefix used when sending messages to the log.
Inherited from Task
|
Managed | ManagedExecution |
Specifies whether the external program should be treated as a managed
application, possibly forcing it to be executed under the currently
targeted version of the CLR.
Inherited from ExternalProgramBase
|
Name | string |
The name of the task.
Inherited from Task
|
NamespaceManager | XmlNamespaceManager |
Gets or sets the
System.Xml.XmlNamespaceManager .
Inherited from Element
|
Oi | string |
The /Oi switch directs the MIDL compiler to
use a fully-interpreted marshaling method.
The /Oic and /Oicf switches provide additional
performance enhancements.
|
Options | OptionCollection |
Additional options to pass to midl.exe.
|
Output | FileInfo |
Gets the file to which the standard output should be redirected.
Inherited from ExternalProgramBase
|
OutputAppend | bool |
Gets a value indicating whether output will be appended to the
NAnt.Core.Tasks.ExternalProgramBase.Output .
Inherited from ExternalProgramBase
|
OutputWriter | TextWriter |
Gets or sets the
System.IO.TextWriter to which standard output
messages of the external program will be written.
Inherited from ExternalProgramBase
|
Parent | Object |
Gets or sets the parent of the element.
Inherited from Element
|
ProcessId | int |
Gets the unique identifier for the spawned application.
Inherited from ExternalProgramBase
|
ProgramArguments | string |
Gets the command-line arguments for the external program.
|
ProgramFileName | string |
Filename of program to execute
|
Project | Project |
Gets or sets the
NAnt.Core.Element.Project to which this element belongs.
Inherited from Element
|
Properties | PropertyDictionary |
Gets the properties local to this
NAnt.Core.Element and the
NAnt.Core.Element.Project .
Inherited from Element
|
Proxy | FileInfo |
Specifies the name of the interface proxy file for a COM interface.
|
Spawn | bool |
Gets or sets a value indicating whether the application should be
spawned. If you spawn an application, its output will not be logged
by NAnt. The default is
false .
Inherited from ExternalProgramBase
|
Threshold | Level |
Gets or sets the log threshold for this
NAnt.Core.Task . By
default the threshold of a task is NAnt.Core.Level.Debug ,
causing no messages to be filtered in the task itself.
Inherited from Task
|
TimeOut | int |
The maximum amount of time the application is allowed to execute,
expressed in milliseconds. Defaults to no time-out.
Inherited from ExternalProgramBase
|
Tlb | FileInfo |
Specifies a file name for the type library generated by the MIDL
compiler.
|
Undefines | OptionCollection |
Macro undefines (/U) to pass to mdil.
|
UnlessDefined | bool |
Opposite of
NAnt.Core.Task.IfDefined . If false
then the task will be executed; otherwise, skipped. The default is
false .
Inherited from Task
|
UseRuntimeEngine | bool |
Specifies whether the external program is a managed application
which should be executed using a runtime engine, if configured.
The default is
false .
Inherited from ExternalProgramBase
|
Verbose | bool |
Determines whether the task should report detailed build log messages.
The default is
false .
Inherited from Task
|
XmlNode | XmlNode |
Gets or sets the XML node of the element.
Inherited from Element
|
Methods
Name | Value | Summary |
---|---|---|
CopyTo |
void |
Copies all instance data of the
NAnt.Core.Element to a given
NAnt.Core.Element .
Inherited from Element
|
Execute |
void |
Executes the task unless it is skipped.
Inherited from Task
|
ExecuteTask |
void |
This is where the work is done.
|
Get |
XmlNode |
Locates the XML node for the specified attribute in either the
configuration section of the extension assembly or the.project.
Inherited from Task
|
Get |
XmlNode |
Inherited from Element
|
GetLocation |
Location |
Retrieves the location in the build file where the element is
defined.
Inherited from Element
|
Initialize |
void |
Initializes the task.
Inherited from Task
|
Initialize |
void |
Performs default initialization.
Inherited from Element
|
Initialize |
Element |
Initializes the build element.
Inherited from Element
static
|
InitializeElement |
void |
Derived classes should override to this method to provide extra
initialization and validation not covered by the base class.
Inherited from Element
|
InitializeTask |
void |
Initializes the task.
Inherited from Task
|
Initialize |
void |
Initializes the configuration of the task using configuration
settings retrieved from the NAnt configuration file.
Inherited from Task
|
InitializeXml |
void |
Initializes all build attributes and child elements.
Inherited from Element
|
IsLogEnabledFor |
bool |
Determines whether build output is enabled for the given
NAnt.Core.Level .
Inherited from Task
|
Log |
void |
Logs a message with the given priority.
Inherited from Task
|
Log |
void |
Logs a formatted message with the given priority.
Inherited from Task
|
PrepareProcess |
void |
Updates the
System.Diagnostics.ProcessStartInfo of the specified
System.Diagnostics.Process .
Inherited from ExternalProgramBase
|
StartProcess |
Process |
Starts the process and handles errors.
Inherited from ExternalProgramBase
|