|Important||This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here.|
/LN (Create MSIL Module)
Specifies that an assembly manifest should not be inserted into the output file.
By default, /LN is not in effect (an assembly manifest is inserted into the output file).
When /LN is used, one of the /clr (Common Language Runtime Compilation) options must also be used.
A managed program that does not have an assembly metadata in the manifest is called a module. If you compile with /c (Compile Without Linking) and /LN, specify /NOASSEMBLY (Create a MSIL Module) in the linker phase to create the output file.
You may want to create modules if you want to take a component-based approach to building assemblies. That is, you can author types and compile them into modules. Then, you can generate an assembly from one or more modules. For more information on creating assemblies from modules, see .netmodule Files as Linker Input or Assembly Linker (Al.exe).
The default file extension for a module is .netmodule.
In Visual C++ releases before Visual C++ 2005, a module was created with /clr:noAssembly.
The Visual C++ linker accepts .netmodule files as input and the output file produced by the linker will be an assembly or .netmodule with no run-time dependence on any of the .netmodules that were input to the linker. For more information, see .netmodule Files as Linker Input.
To set this compiler option in the Visual Studio development environment
Specify /NOASSEMBLY (Create a MSIL Module) in the linker phase to create the output file.
To set this compiler option programmatically
This compiler option cannot be changed programmatically.