How to troubleshoot TypeLoadException during reflection?

After obfuscation, the application might not work and TypeLoadException is quite common a case. One such case is

http://stackoverflow.com/questions/24058302/obfuscar-2-0-could-not-load-type-from-assembly

There can be other similar cases, where either explicitly or implicitly the application code itself requires an instance to be initialized at runtime by reflection. Since reflection requires metadata, which obfuscation manipulates heavily, such initialization could fail.

The workaround is to skip such types or methods in obfuscation, so that reflection can still find them out.

Note that it is rarely a bug of Obfuscar.

How to troubleshoot TypeLoadException if a method does not have an implementation?

One such case is

https://github.com/lextm/obfuscar/issues/47

It is very likely a bug of Obfuscar, where it mistakenly renames a virtual function, so that at runtime CLR cannot find the expected method from the type.

The workaround is to skip such methods in obfuscation explicitly. A bug report can also be fired at GitHub or CodePlex.

Last edited Apr 19, 2015 at 2:20 PM by lextm, version 2