<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <!-- Documenting T:NAnt.DotNet.Tasks.AssemblyLinkerTask-->
  <head>
    <meta http-equiv="Content-Language" content="en-ca" />
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link rel="stylesheet" type="text/css" href="../style.css" />
    <title>&lt;al&gt; Task</title>
  </head>
  <body>
    <table width="100%" border="0" cellspacing="0" cellpadding="2" class="NavBar">
      <tr>
        <td class="NavBar-Cell">
          <a href="http://nant.sourceforge.net">
            <b>NAnt</b>
          </a>
          <img alt="-&gt;" src="../images/arrow.gif" />
          <a href="../index.html">Help</a>
          <img alt="-&gt;" src="../images/arrow.gif" />
          <a href="../tasks/index.html">Task Reference</a>
          <img alt="-&gt;" src="../images/arrow.gif" /> &lt;al&gt;</td>
        <td class="NavBar-Cell" align="right">
                        v0.91</td>
      </tr>
    </table>
    <h1>&lt;al&gt;</h1>
    <p> Wraps <code>al.exe</code>, the assembly linker for the .NET Framework. </p>
    <p> All specified sources will be embedded using the <code>/embed</code> flag. Other source types are not supported. </p>
    <h3>Parameters</h3>
    <div class="table">
      <table>
        <tr>
          <th>Attribute</th>
          <th style="text-align: center;">Type</th>
          <th>Description</th>
          <th style="text-align: center;">Required</th>
        </tr>
        <tr>
          <td valign="top" class="required">output</td>
          <td style="text-align: center;">file</td>
          <td> The name of the output file for the assembly manifest. </td>
          <td style="text-align: center;">True</td>
        </tr>
        <tr>
          <td valign="top" class="required">target</td>
          <td style="text-align: center;">string</td>
          <td> The target type (one of <code>lib</code>, <code>exe</code>, or <code>winexe</code>). </td>
          <td style="text-align: center;">True</td>
        </tr>
        <tr>
          <td valign="top">algid</td>
          <td style="text-align: center;">string</td>
          <td> Specifies an algorithm (in hexadecimal) to hash all files in a multifile assembly except the file that contains the assembly manifest. The default algorithm is CALG_SHA1. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">company</td>
          <td style="text-align: center;">string</td>
          <td> Specifies a string for the <b xmlns="">Company</b> field in the assembly. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">configuration</td>
          <td style="text-align: center;">string</td>
          <td> Specifies a string for the <b xmlns="">Configuration</b> field in the assembly. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">copyright</td>
          <td style="text-align: center;">string</td>
          <td> Specifies a string for the <b xmlns="">Copyright</b> field in the assembly. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">culture</td>
          <td style="text-align: center;">string</td>
          <td> The culture string associated with the output assembly. The string must be in RFC 1766 format, such as "en-US". </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">delaysign</td>
          <td style="text-align: center;">
            <a href="../enums/NAnt.DotNet.Types.DelaySign.html">DelaySign</a>
          </td>
          <td> Specifies whether the assembly should be partially signed. The default is <b>NAnt.DotNet.Types.DelaySign.NotSet</b>. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">description</td>
          <td style="text-align: center;">string</td>
          <td> Specifies a string for the <b xmlns="">Description</b> field in the assembly. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">evidence</td>
          <td style="text-align: center;">file</td>
          <td> Security evidence file to embed. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">fileversion</td>
          <td style="text-align: center;">string</td>
          <td> Specifies a string for the <b xmlns="">File Version</b> field in the assembly. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">flags</td>
          <td style="text-align: center;">string</td>
          <td> Specifies a value (in hexadecimal) for the <b xmlns="">Flags</b> field in the assembly. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">keycontainer</td>
          <td style="text-align: center;">string</td>
          <td> Specifies a container that holds a key pair. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">keyfile</td>
          <td style="text-align: center;">file</td>
          <td> Specifies a file (filename) that contains a key pair or just a public key to sign an assembly. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">main</td>
          <td style="text-align: center;">string</td>
          <td> Specifies the fully-qualified name (class.method) of the method to use as an entry point when converting a module to an executable file. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">product</td>
          <td style="text-align: center;">string</td>
          <td> Specifies a string for the <b xmlns="">Product</b> field in the assembly. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">productversion</td>
          <td style="text-align: center;">string</td>
          <td> Specifies a string for the <b xmlns="">Product Version</b> field in the assembly. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">template</td>
          <td style="text-align: center;">file</td>
          <td> Specifies an assembly from which to get all options except the culture field. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">title</td>
          <td style="text-align: center;">string</td>
          <td> Specifies a string for the <b xmlns="">Title</b> field in the assembly. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">trademark</td>
          <td style="text-align: center;">string</td>
          <td> Specifies a string for the <b xmlns="">Trademark</b> field in the assembly. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">version</td>
          <td style="text-align: center;">string</td>
          <td> Specifies version information for the assembly. The format of the version string is <code>major</code>.<code>minor</code>.<code>build</code>.<code>revision</code>. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">win32icon</td>
          <td style="text-align: center;">file</td>
          <td> Icon to associate with the assembly. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">win32res</td>
          <td style="text-align: center;">file</td>
          <td> Inserts a Win32 resource (.res file) in the output file. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">failonerror</td>
          <td style="text-align: center;">bool</td>
          <td> Determines if task failure stops the build, or is just reported. The default is <b>true</b>. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">if</td>
          <td style="text-align: center;">bool</td>
          <td> If <b>true</b> then the task will be executed; otherwise, skipped. The default is <b>true</b>. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">timeout</td>
          <td style="text-align: center;">int</td>
          <td> The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">unless</td>
          <td style="text-align: center;">bool</td>
          <td> Opposite of <code>if</code>. If <b>false</b> then the task will be executed; otherwise, skipped. The default is <b>false</b>. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">verbose</td>
          <td style="text-align: center;">bool</td>
          <td> Determines whether the task should report detailed build log messages. The default is <b>false</b>. </td>
          <td style="text-align: center;">False</td>
        </tr>
      </table>
    </div>
    <h3>Framework-configurable parameters</h3>
    <div class="table">
      <table>
        <tr>
          <th>Attribute</th>
          <th style="text-align: center;">Type</th>
          <th>Description</th>
          <th style="text-align: center;">Required</th>
        </tr>
        <tr>
          <td valign="top">exename</td>
          <td style="text-align: center;">string</td>
          <td> The name of the executable that should be used to launch the external program. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">managed</td>
          <td style="text-align: center;">
            <a href="../enums/NAnt.Core.Types.ManagedExecution.html">ManagedExecution</a>
          </td>
          <td> 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. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">supportstemplate</td>
          <td style="text-align: center;">bool</td>
          <td> Indicates whether the assembly linker for a given target framework supports the "template" option, which takes an assembly from which to get all options except the culture field. The default is <b>true</b>. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">useruntimeengine</td>
          <td style="text-align: center;">bool</td>
          <td>
            <i>Deprecated.</i>  Specifies whether the external program is a managed application which should be executed using a runtime engine, if configured. The default is <b>false</b>. </td>
          <td style="text-align: center;">False</td>
        </tr>
      </table>
    </div>
    <h3>Nested Elements:</h3>
    <!--Element-->
    <h4>
      <a id="modules">
      </a>
                    &lt;<a href="../types/moduleset.html">modules</a>&gt;
                </h4>
    <div class="nested-element"> One or more modules to be compiled into an assembly. <p /></div>
    <h4>
      <a id="modules">
      </a>
                    &lt;/<a href="../types/moduleset.html">modules</a>&gt;
                </h4>
    <!--Element-->
    <h4>
      <a id="sources">
      </a>
                    &lt;<a href="../types/fileset.html">sources</a>&gt;
                </h4>
    <div class="nested-element"> The set of resources to embed. <p /></div>
    <h4>
      <a id="sources">
      </a>
                    &lt;/<a href="../types/fileset.html">sources</a>&gt;
                </h4>
    <!--Array-->
    <!--NestedElementArray=T:NAnt.Core.Types.Argument-->
    <h4>
      <a id="arg">
      </a>
                    &lt;arg&gt;
                </h4>
    <div class="nested-element"> The command-line arguments for the external program. <p> Represents a command-line argument. </p><p> When passed to an external application, the argument will be quoted when appropriate. This does not apply to the <code>line</code> parameter, which is always passed as is. </p><h3>Parameters</h3><div class="table"><table><tr><th>Attribute</th><th style="text-align: center;">Type</th><th>Description</th><th style="text-align: center;">Required</th></tr><tr><td valign="top">dir</td><td style="text-align: center;">directory</td><td> The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. </td><td style="text-align: center;">False</td></tr><tr><td valign="top">file</td><td style="text-align: center;">file</td><td> The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. </td><td style="text-align: center;">False</td></tr><tr><td valign="top">if</td><td style="text-align: center;">bool</td><td> Indicates if the argument should be passed to the external program. If <b>true</b> then the argument will be passed; otherwise, skipped. The default is <b>true</b>. </td><td style="text-align: center;">False</td></tr><tr><td valign="top">line</td><td style="text-align: center;">string</td><td> List of command-line arguments; will be passed to the executable as is. </td><td style="text-align: center;">False</td></tr><tr><td valign="top">path</td><td style="text-align: center;">&lt;path&gt;</td><td> The value for a PATH-like command-line argument; you can use <code>:</code> or <code>;</code> as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. </td><td style="text-align: center;">False</td></tr><tr><td valign="top">unless</td><td style="text-align: center;">bool</td><td> Indicates if the argument should not be passed to the external program. If <b>false</b> then the argument will be passed; otherwise, skipped. The default is <b>false</b>. </td><td style="text-align: center;">False</td></tr><tr><td valign="top">value</td><td style="text-align: center;">string</td><td> A single command-line argument; can contain space characters. </td><td style="text-align: center;">False</td></tr></table></div><h3>Nested Elements:</h3><!--Element--><h4><a id="path"></a>
                    &lt;<a href="../types/path.html">path</a>&gt;
                </h4><div class="nested-element"> Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used. <p /></div><h4><a id="path"></a>
                    &lt;/<a href="../types/path.html">path</a>&gt;
                </h4><h3>Examples</h3><ul class="examples"><li><p> A single command-line argument containing a space character. </p><pre class="code">
&lt;arg value="-l -a" /&gt;
    </pre></li><li><p> Two separate command-line arguments. </p><pre class="code">
&lt;arg line="-l -a" /&gt;
    </pre></li><li><p> A single command-line argument with the value <code>\dir;\dir2;\dir3</code> on DOS-based systems and <code>/dir:/dir2:/dir3</code> on Unix-like systems. </p><pre class="code">
&lt;arg path="/dir;/dir2:\dir3" /&gt;
    </pre></li></ul></div>
    <h4>
      <a id="arg">
      </a>
                    &lt;/arg&gt;
                </h4>
    <h3>Examples</h3>
    <ul class="examples">
      <li>
        <p> Create a library containing all icon files in the current directory. </p>
        <pre class="code">
            &lt;al output="MyIcons.dll" target="lib"&gt;
                &lt;sources&gt;
                    &lt;include name="*.ico" /&gt;
                &lt;/sources&gt;
            &lt;/al&gt;
                </pre>
      </li>
      <li>
        <p> Create an executable assembly manifest from modules. </p>
        <pre class="code">
            &lt;al output="Client.exe" target="exe" main="Program.Main"&gt;
                &lt;modules&gt;
                    &lt;include name="Client.netmodule" /&gt;
                    &lt;include name="Common.netmodule" /&gt;
                &lt;/modules&gt;
            &lt;/al&gt;
                </pre>
      </li>
    </ul>
    <h3>Requirements</h3>
    <div style="margin-left: 20px;">
      <b>Assembly:</b> NAnt.DotNetTasks (0.91.4312.0)
            </div>
  </body>
</html>