Section: Misc. Reference Manual Pages (lc)
lc - Mono License Compiler
lc -c filename -t targetassembly [-i reference...] [-v] [-o outputpath] [-nologo]
tool is a license compiler for Mono. It's used to convert a
licenses.licx file to a resource that can be embedded into an executable.
When using commercial components for .NET they often require a license
resource at runtime to make sure the developer was licensed to use this
control. The most common way of making sure the component was properly
licensed is by using license resources. At compile time the developer
uses the lc tool to convert a licenses.licx file to a
programname.exe.licenses file and embed that as a managed resource
The following options are available:
- --complist=filename, -c filename
This option is used to specify the input file, the licenses.licx file
to create a license reesource for. This option is required. The license
compiler will read each line in this file and try to load the types
specified on that line.
- --target=assemblyname, -t targetassembly
full assembly name with file extension for the target assembly. The
license compiler uses this as a key when compiling the licenses. It
has to match the assembly the resource will be embedded in. This option
- --load=reference, -i reference
Assembly reference to load before trying to compile a license. This
option is needed for assemblies where the references are not in the
gac. Compilers should pass all references to the license compiler.
- --verbose,, -v
Gives more verbose output about the license compiling process.
- --help, -h
Displays usage instructions.
- --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 .licenses
Do not emit the "Mono License Compiler" logo on stdout while compilng.
The format for the license files (licenses.licx) is the following:
All lines starting with a # are ignored. the first form requires
that the assembly was loaded through the --load,-i option but
does not require the full assembly name, only the first part.
The second form requires the full assembly name including locale,
version and publickeytoken.
Mailing lists are listed at the