.NET Linker 

Assembly linking is an acute angle of any application including multiple assemblies. In combination with the other features of Skater .NET Obfuscator, assembly linking provides conclusive advantages for your .NET application by increasing reliability and security while reducing size. If your executable relies on .NET assemblies, assembly linking is categorical to protect your application against deciphering and hackers. Also it allows package your application effectually.

When packaging, during the assembly obfuscation, you can combine assemblies using the assembly linker. For example, instead of deploying main.dll, a.dll, and b.dll separately, you could deploy main.dll using the Assembly Linker interface that is a significant part of Skater .NET Obfuscator. The a.dll and b.dll will be joined into the main.dll

Download demo-trial now!
Order .NET Licenser!

When distributing several closely related but separate DLLs is not that much of a plague, it would be a nice if, since they are so closely interlaced, you could merge these different assemblies into one. The ability to merge multiple libraries together would simplify deployment in many cases; applications that use several different languages or huge applications written in the same language but built upon many different projects would benefit from single-assembly deployment.

Skater .NET Obfuscator
More about Skater .NET Obfuscator
Download Skater .NET Obfuscator
Order Skater .NET Obfuscator

The Skater's special Linker interface is the utility that can link multiple modules into a single file for deployment. It does the linkage afterwards your main assembly has been obfuscated. The Linker interface intended for linking multiple 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 afterwards when obfuscation is done for your current open assembly. NOTE: The linked assemblies will not be obfuscated. Please obfuscate the joined modules before Linkage. Or you may suggest secure the combined libraries after Linkage.

Usually, if all the functionality of your distributed application is not required at once, you might want to consider having the application divided into separate modules or libraries. The .NET runtime will load each component only when a type is referenced.

On the second hand, packaging everything into a single file will bring performance improvements, mostly because the loader does not have to take the time to resolve all the dependency issues. Also, you do not have to worry about missing dlls when your application is deployed.

How does it work? What steps we need to do to link assemblies into one module and then obfuscate it?
Open a main assembly (exe or dll) in Skater.
2. By using Linker interface select referenced and non-referenced assemblies and include them.
3. Do not apply any obfuscation settings for the main assembly. All assemblies have to be not obfuscated before.
4. Run obfuscation. Actually the obfuscation will not be implemented since you do not select any obfuscation settings. It will just link assemblies into a single module.
5. Open the linked single module in Skater interface. Apply obfuscation settings to the obtained .NET assemblies' bundle and then run obfuscation.