al(1)

✨ NAME ✨

Okay bestie, meet al and al2, the Mono Assembly Linker πŸ’– al handles 1.0 assemblies and al2 handles 2.0 assemblies. Iconic duo πŸ‘‘


🧚 SYNOPSIS 🧚

al [option] [source-files]

πŸ¦‹ DESCRIPTION πŸ¦‹

Okay so al is the Mono assembly linker, and it's literally the one that puts assemblies together 🫢 It takes a bunch of modules (.netmodule files), assembly manifest files, and resources and stitches them into one assembly.

Don't mix this up with the monolinker! πŸ™ˆ That one is a different tool that shrinks assemblies by getting rid of code that isn't used.

Use al for 1.0 assemblies and al2 for 2.0 assemblies. Not me mixing them up πŸ’€


πŸ’… OPTIONS πŸ’…

  • @<filename> β€” Pass in a response file to load in more options πŸ“
  • -algid:<id> β€” Picks the algorithm used to hash files. The <id> has to be hexadecimal πŸ”’
  • -base:<addr> | -baseaddress:<addr> β€” Sets the base address for the library. > THIS FEATURE ISN'T IMPLEMENTED. 😭
  • -bugreport:<filename> β€” Supposed to make a 'Bug Report' file. > THIS FEATURE ISN'T IMPLEMENTED. πŸ’€
  • -comp:<text> | -company:<text> β€” Slips the company name into the assembly metadata. It's the same as adding [AssemblyCompany ("<text>")] in C# source 🏒
  • -config:<text> | -configuration:<text> β€” Adds a configuration string to the metadata. Same energy as [AssemblyConfiguration ("<text>")] in C# βš™οΈ
  • -copy:<text> | -copyright:<text> β€” Puts a copyright message in the metadata. Equivalent to [AssemblyCopyright ("<text>")] in C# ©️
  • -c:<text> | -culture:<text> β€” Adds the supported culture to the metadata. It's [AssemblyCulture ("<text>")] in C# 🌍
  • -delay | -delay+ | -delaysign | -delaysign+ β€” The output gets delay signed. This is the same as [AssemblyDelaySignAttribute (true)] in C# πŸ¦‹
  • -delay- | -delaysign- β€” The output gets fully signed, not delay signed. This is the default when you're signing with -keyfile or -keyname ✨
  • -descr:<text> | -description:<text> β€” Adds a description of the assembly to the metadata, like [AssemblyDescription ("<text>")] in C# πŸ“–
  • -e:<filename> | -evidence:<filename> β€” Embeds the file you name into the assembly as security evidence πŸ”
  • -fileversion:<version> β€” An optional Win32 version that overrides the normal assembly version πŸŽ€
  • -flags:<flags> β€” Sets the assembly flags. The <flags> have to be hexadecimal 🚩
  • -fullpaths β€” Shows files with their fully-qualified filenames πŸ—ΊοΈ
  • -keyf:<filename> | -keyfile:<filename> β€” Strong-name signs the output with the key pair from the strong name key file (snk). You need a full key pair unless you also use delay signing (-delay+). Same as [AssemblyKeyFile ("<text>")] in C# πŸ”‘
  • -keyn:<text> | -keyname:<text> β€” Strong-name signs the output using a key pair from a container. Delay signing doesn't work with key containers, so don't even try πŸ™…β€β™€οΈ It's the same as [AssemblyKeyName ("<text>")] in C# πŸ—οΈ
  • -main:<method> β€” Names the method that's the entry point of the assembly πŸšͺ
  • -nologo β€” Hides the startup banner and copyright message 🀫
  • -out:<filename> β€” The output file name for the assembly manifest πŸ“¦
  • -prod:<text> | product:<text> β€” Adds the product name to the metadata, same as [AssemblyProduct ("<text>")] in C# πŸ›οΈ
  • -productv[ersion]:<text> β€” Adds the product version to the metadata. It's [AssemblyInformationalVersion ("<text>")] in C# 🏷️
  • -t[arget]:<target> | -target=<target> β€” Pick your vibe with a valid <target>:
    • lib or library makes a library (.dll) πŸ“š
    • exe makes a console executable (.exe) πŸ–₯️
    • win or winexe makes a Windows executable (.exe) πŸͺŸ
  • -template:<filename> β€” Names an assembly to borrow default options from 🧩
  • -title:<text> β€” Adds an assembly title to the metadata, like [AssemblyTitle ("<text>")] in C# 🎬
  • -trade:<text> | -trademark:<text> β€” Adds a trademark message to the metadata. It's [AssemblyTrademark ("<text>")] in Cℒ️
  • -v:<version> | -version:<version> β€” Adds the assembly version to the metadata. You can throw in * to auto-generate the remaining numbers. Same as [AssemblyVersion ("<text>")] in C# πŸ”’
  • -win32icon:<filename> β€” Uses this icon for the output πŸ–ΌοΈ
  • -win32res:<filename> β€” Points at the Win32 resource file πŸ“
  • -? | -help β€” Shows info about al πŸ†˜

🌸 SEE ALSO 🌸

sn(1), monolinker(1)


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 🌐


Okay that's the tea, bestie 🫢 Now go link your assemblies like the main character you are πŸ’…βœ¨ Byeee, al(1) πŸ§šπŸŽ€