You can use Dotfuscator to link multiple input assemblies into one or more output assemblies. For example, if you have input assemblies A, B, C, D, and E, you can link assemblies A,B, and C and name the result F. At the same time, you can also link D and E and name the result G. The only rule is that you can't link the same input assembly into multiple output assemblies.
The linking feature is fully integrated with the rest of Dotfuscator, so in one step, you can obfuscate, remove unused types, methods, and fields, and link the result into one assembly.
If you have other input assemblies that reference the assemblies you are linking together, Dotfuscator will transparently update all the assembly and type references so the output assemblies will correctly work together.
Linking is not supported for C++ assemblies.
For details, see the online user's guide.