---
name: "al"
section: "1"
platform: "linux"
package: "mono"
version: "6.12.0.206-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/al"
---

# al(1)

Mono Assembly Linker

## NAME

al, al2 - Mono Assembly Linker

## SYNOPSIS

**al \[option\] \[source-files\]**

## DESCRIPTION

AL is the Mono assembly linker.

This linker is used to put together assemblies from a collection of modules (.netmodule files), assembly manifest files and resources.

Do not confuse this with the  **monolinker,** which is a tool to reduce the size of assemblies based on the code used.

Use al for processing 1.0 assemblies, use al2 to process 2.0 assemblies.

## OPTIONS

- **@\<filename\>**

  Read response file for more options.

- **-algid:\<id\>**

  Algorithm used to hash files. The \<id\> must be specified in hexadecimal.

- **-base:\<addr\> \| -baseaddress:\<addr\>**

  Base address for the library. THIS FEATURE ISN'T IMPLEMENTED.

- **-bugreport:\<filename\>**

  Create a 'Bug Report' file. THIS FEATURE ISN'T IMPLEMENTED.

- **-comp:\<text\> \| -company:\<text\>**

  This inserts the company name into the assembly metadata. This is equivalent to adding the \[AssemblyCompany ("\<text\>")\] attribute into C# source code.

- **-config:\<text\> \| -configuration:\<text\>**

  This inserts the configuration string into the assembly metadata. This is equivalent to adding the \[AssemblyConfiguration ("\<text\>")\]  attribute into C# source code.

- **-copy:\<text\> \| -copyright:\<text\>**

  This inserts the copyright message into the assembly metadata. This is equivalent to adding the \[AssemblyCopyright ("\<text\>")\]  attribute into C# source code.

- **-c:\<text\> \| -culture:\<text\>**

  This inserts the supported culture into the assembly metadata. This is equivalent to adding the \[AssemblyCulture ("\<text\>")\]  attribute into C# source code.

- **-delay \| -delay+ \| -delaysign \| -delaysign+**

  The generated assembly will be delay signed.  This is equivalent to adding the \[AssemblyDelaySignAttribute (true)\]  attribute into C# source code.

- **-delay- \| -delaysign-**

  The generated assembly will be fully signed (i.e. not delay signed). This is the default option when signing (-keyfile or -keyname).

- **-descr:\<text\> \| -description:\<text\>**

  This inserts a description of the assembly into the assembly metadata. This is equivalent to adding the \[AssemblyDescription ("\<text\>")\]  attribute into C# source code.

- **-e:\<filename\> \| -evidence:\<filename\>**

  This embed into the assembly the specified file as assembly security evidences.

- **-fileversion:\<version\>**

  Optional Win32 version. This overrides the normal assembly version.

- **-flags:\<flags\>**

  Assembly flags. The \<flags\> must be specified in hexadecimal.

- **-fullpaths**

  Display files using fully-qualified filenames.

- **-keyf:\<filename\> \| -keyfile:\<filename\>**

  Strongname (sign) the output assembly using the key pair present in  the specified strong name key file (snk). A full key pair is required unless the delay signing option is also specified (-delay+). This is equivalent to adding the \[AssemblyKeyFile ("\<text\>")\]  attribute into C# source code.

- **-keyn:\<text\> \| -keyname:\<text\>**

  Strongname (sign) the output assembly using the key pair present in  the specified container. Delay signing isn't supported when using key containers. This is equivalent to adding the \[AssemblyKeyName ("\<text\>")\]  attribute into C# source code.

- **-main:\<method\>**

  Specifies the method name of the assembly entry point.

- **-nologo**

  Suppress the startup banner and copyright message.

- **-out:\<filename\>**

  Output file name for the assembly manifest.

- **-prod:\<text\> \| product:\<text\>**

  This inserts the product name into the assembly metadata. This is equivalent to adding the \[AssemblyProduct ("\<text\>")\]  attribute into C# source code.

- **-productv\[ersion\]:\<text\>**

  This inserts the product version into the assembly metadata. This is equivalent to adding the \[AssemblyInformationalVersion ("\<text\>")\]  attribute into C# source code.

- **-t\[arget\]:\<target\> \| -target=\<target\>**

  Valid \<target\>s are: **lib \| library** to create a library (.dll), **exe** to create a console executable (.exe), and **win \| winexe** to create a Windows executable (.exe).

- **-template:\<filename\>**

  Specifies an assembly to get default options from.

- **-title:\<text\>**

  This inserts an assembly title into the assembly metadata. This is equivalent to adding the \[AssemblyTitle ("\<text\>")\]  attribute into C# source code.

- **-trade:\<text\> \| -trademark:\<text\>**

  This inserts a trademark message into the assembly metadata. This is equivalent to adding the \[AssemblyTrademark ("\<text\>")\]  attribute into C# source code.

- **-v:\<version\> \| -version:\<version\>**

  This inserts the assembly version into the assembly metadata. You can use \* to auto-generate remaining numbers. This is equivalent to adding the \[AssemblyVersion ("\<text\>")\]  attribute into C# source code.

- **-win32icon:\<filename\>**

  Use this icon for the output.

- **-win32res:\<filename\>**

  Specifies the Win32 resource file.

- **-? \| -help**

  Display information about AL

## SEE ALSO

[sn(1)](/sn/1.md), [monolinker(1)](/monolinker/1.md)

## COPYRIGHT

Copyright (C) 2005 Novell, Inc (http://www.novell.com)

## MAILING LISTS

Visit http://lists.ximian.com/mailman/listinfo/mono-devel-list for details.

## WEB SITE

Visit: http://www.mono-project.com for details
