.NET Linker allows for the linking of multiple modules into a single file for deployment, providing an interface to combine managed executables or assemblies into a unified module or assembly.
Typically, it is not much of a hassle when distributing multiple closely related but separate DLLs. However, merging them into a single assembly can be beneficial if the libraries are closely interlaced. This ability to consolidate multiple libraries can simplify deployment for applications that use several different languages or are composed of several different projects written in the same language.
The Skater's special linker interface is the tool that can link multiple modules into a single file for deployment. It does the linkage after the main assembly has been obfuscated. The linker interface is designed to combine various managed executables or assemblies into a single module or assembly. The assigned referenced and non-referenced assemblies will be linked into your final obfuscated assembly once the obfuscation process for your current open assembly is complete. It is important to note that the linked assemblies will not be obfuscated. Thus, it's recommended that you should obfuscate the joined modules before Linkage or suggest securing the combined libraries after linkage.
It is worth considering dividing an application into separate modules or libraries, especially if not all the functionality of the distributed application is required at once. The .NET runtime will load each component only when a type is referenced. Combining everything into a single file can bring about significant performance improvements because the loader does not have to take time resolving all dependency issues. Additionally, you don't need to worry about missing DLLs when your application is deployed.
Version 8.8.3: new release