Mono(lc)
π Mono(lc) β like, the whole manual, but make it make sense π
okay bestie, sit down, we're doing the lc manual and it's gonna be a whole vibe. this is Mono(lc), the page for the Mono License Compiler. no cap, it's shorter than it sounds. let's go π«Ά
β¨ NAME β¨
lc β Mono License Compiler. that's it. that's the name. iconic.
β¨ SYNOPSIS β¨
lc -c filename -t targetassembly [-i reference...] [-v] [-o outputpath]
[-nologo]
look at her. all those little brackets are optional and she knows it π
β¨ DESCRIPTION β¨
so. lc is a license compiler for Mono. its whole job is taking a licenses.licx file and turning it into a resource you can embed into an executable. that's the tea π
here's the lore: when you're using commercial components for .NET, they often require a license resource at runtime, just to make sure the dev actually got licensed to use that control. the most common way of making sure the component was properly licensed is by using license resources. and at compile time, the developer uses the lc tool to convert a licenses.licx file into a programname.exe.licenses file, then embeds that as a managed resource during compilation. slay β¨
β¨ RUNTIME OPTIONS β¨
the following options are available, and yes we're doing all of them:
--complist=filename,-c filenameβ this one is for specifying the input file, aka thelicenses.licxfile you want to create a license reesource for. this option is required, so don't skip her π. the license compiler reads each line in this file and tries to load the types specified on that line.--target=assemblyname,-t targetassemblyβ the full assembly name with file extension for the target assembly. the license compiler uses this as a key when compiling the licenses, and it has to match the assembly the resource will be embedded in. also required. two required options, we love a demanding queen π--load=reference,-i referenceβ an assembly reference to load before trying to compile a license. you need this for assemblies where the references are not in the gac. compilers should pass all references to the license compiler, fr fr.--verbose,,,-vβ gives more verbose output about the license compiling process. (yes the double comma is in the manual. we don't ask questions, we just report the facts π)--help,-hβ displays usage instructions. the classic. the goat.--outdir=path,-o pathβ target path file the licenses resource. by default the license compiler emits the resource in the current directory. the filename will always match the target assembly passed to--target, with.licensesadded. so like, you don't get to name it. she names it. periodt.--nologoβ do not emit the"Mono License Compiler"logo onstdoutwhile compilng. (their spelling, not mine π) if you're tired of the logo, this is your girl.
β¨ LICENSE FILES β¨
the format for the license files (licenses.licx) is the following:
# comment
namespace.type, assemblyname
namespace.type, full-assemblyname
all lines starting with a # are ignored. the first form requires that the assembly was loaded through the --load,-i option, but it does not require the full assembly name β only the first part.
the second form requires the full assembly name, including locale, version and publickeytoken. no shortcuts, no vibes, full name only π
β¨ MAILING LISTS β¨
mailing lists are listed at http://www.mono-project.com/community/help/mailing-lists/ β go find your people π¦
β¨ WEB SITE β¨
β¨ SEE ALSO β¨
and that's the whole page, bestie!! π that footer energy at the bottom β the source/version and date line β is literally just Mono(lc), so consider this your cute sign-off: you've been reading the Mono(lc) manual, brought to you by the Mono crew, dated the same as it ever was. now go compile something iconic πβ¨π
π¦ where this page comes from
- alpine 3.24: mono-doc 6.14.1-r1 Β· MIT
- arch rolling: mono 6.12.0.206-1 Β· GPL AND LGPL2.1 AND MPL
- debian bookworm: mono-devel 6.8.0.105+dfsg-3.3+deb12u1 Β· MIT
- debian trixie: mono-devel 6.12.0.199+dfsg-6 Β· MIT
- epel 10: mono-core 6.14.1-1.el10_2 Β· MIT
- epel 9: mono-core 6.12.0-5.el9 Β· MIT
- fedora 43: mono-core 6.12.0-21.fc43 Β· MIT
- fedora 43: mono-core 6.12.0-21.fc43 Β· MIT
- fedora 44: mono-core 6.14.1-3.fc44 Β· MIT
- fedora 44: mono-core 6.14.1-3.fc44 Β· MIT
- fedora 44: mono-core 6.14.1-4.fc44 Β· MIT
- fedora 44: mono-core 6.14.1-4.fc44 Β· MIT
- nixos 26.05: mono 6.14.1
- nixpkgs unstable: mono 6.14.1
- opensuse-leap 16.0: mono-devel 6.12.0-bp160.1.1 Β· LGPL-2.1-only
- opensuse-leap 16.0: mono-devel 6.12.0-bp160.1.1 Β· LGPL-2.1-only
- opensuse-leap 16.0: mono-devel 6.12.0-bp160.1.1 Β· LGPL-2.1-only
- opensuse-leap 16.0: mono-devel 6.12.0-bp160.1.1 Β· LGPL-2.1-only
- ubuntu jammy: mono-devel 6.8.0.105+dfsg-3.2 Β· MIT
- ubuntu noble: mono-devel 6.8.0.105+dfsg-3.6ubuntu2 Β· MIT
- ubuntu questing: mono-devel 6.12.0.199+dfsg-6
- ubuntu resolute: mono-devel 6.14.1+ds2-2 Β· MIT
- ubuntu stonking: mono-devel 6.14.1+ds2-3 Β· MIT
- (C) 2009 Carlo Kok
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms