Summary
Imports a type library to a .NET assembly (wraps Microsoft's tlbimp.exe).
- Assembly
- NAnt
.Win32 .dll - Namespace
- NAnt
.Win32 .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["TlbImpTask"]
class Type type-node
Syntax
[TaskName("tlbimp")]
[ProgramLocation(LocationType.FrameworkSdkDir)]
public class TlbImpTask : ExternalProgramBase, IConditional
Examples
Import LegacyCOM.dll
to DotNetAssembly.dll
.
<tlbimp typelib="LegacyCOM.dll" output="DotNetAssembly.dll" />
Generate an assembly named "Interop.MSVidCtlLib.dll" for the MS Video Control 1.0 Type Library, transforming any [out, retval] parameters of methods on dispinterfaces in the type library into return values in the managed library.
<tlbimp typelib="msvidctl.dll" output="Interop.MSVidCtlLib.dll" transform="dispret">
<references basedir="Interop">
<include name="Interop.TunerLib.dll" />
</references>
</tlbimp>
Remarks
This task lets you easily create interop assemblies. By default, it will not reimport if the underlying COM TypeLib or reference has not changed.
See the Microsoft.NET Framework SDK documentation for details.
Attributes
Type | Description |
---|---|
TaskNameAttribute | Indicates that class should be treated as a task. |
Program |
Indicates the location that a task executable can be located in. |
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 |
---|---|---|
Arguments | ArgumentCollection |
The command-line arguments for the external program.
Inherited from ExternalProgramBase
|
AsmVersion | string |
Specifies the version number of the assembly to produce.
|
BaseDirectory | DirectoryInfo |
Gets the working directory for the application.
Inherited from ExternalProgramBase
|
CommandLine | string |
Gets the command-line arguments, separated by spaces.
Inherited from ExternalProgramBase
|
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
|
DelaySign | bool |
Specifies whether the resulting assembly should be signed with a
strong name using delayed signing. The default is
false .
|
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
|
IfDefined | bool |
If
true then the task will be executed; otherwise,
skipped. The default is true .
Inherited from Task
|
KeyContainer | string |
Specifies the key container in which the public/private key pair
should be found that should be used to sign the resulting assembly
with a strong name.
|
KeyFile | FileInfo |
Specifies the publisher's official public/private key pair with which
the resulting assembly should be signed with a strong name.
|
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
|
Namespace | string |
Specifies the namespace in which to produce the assembly.
|
NamespaceManager | XmlNamespaceManager |
Gets or sets the
System.Xml.XmlNamespaceManager .
Inherited from Element
|
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
|
OutputFile | FileInfo |
Specifies the name of the output file.
|
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
|
Primary | bool |
Specifies whether a primary interop assembly should be produced for
the specified type library. The default is
false .
|
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 |
Gets the filename of the external program to start.
Inherited from ExternalProgramBase
|
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
|
PublicKeyFile | FileInfo |
Specifies the file containing the public key to use to sign the
resulting assembly.
|
References | AssemblyFileSet |
Specifies the assembly files to use to resolve references to types
defined outside the current type library.
|
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
|
StrictRef | bool |
Specifies whether a type library should not be imported if all
references within the current assembly or the reference assemblies
cannot be resolved. The default is
false .
|
SupportsTransform | bool |
Indicates whether
tlbimp supports transforming metadata for
a given target framework. The default is true .
|
SysArray | bool |
Specifies whether to import a COM style SafeArray as a managed
System.Array class type. The default is false .
|
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
|
Transform | string |
Specifies how to transform the metadata [.NET 1.1 or higher].
|
TypeLib | FileInfo |
Specifies the source type library that gets passed to the type
library importer.
|
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
|
Unsafe | bool |
Specifies whether interfaces should be produced without .NET Framework
security checks. The default is
false .
|
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 |
Imports the type library to a .NET assembly.
|
ExtractTypeLibPath |
string |
Returns the path of the type library, removing the identifier of
the type library from the specified string.
static
|
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
|
NeedsCompiling |
bool |
Determines whether the type library needs to be imported again.
|
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
|