Yes, when assemblies are combined, they gain access to each other's inner classes. This is due to some obfuscators to make public calls between assemblies into internal calls, and then mask them, making them more secure. Link: SmartAssembly
On the side of the note, using ILMerge, you can use the / internalize command line switch, which will make all public classes in assemblies other than the primary assembly internal, which removes the public interfaces from the eyes of the end user, but still the assembly function is in normal mode.
Teoman soygul
source share