As far as I'm aware the program I’m testing doesn't use reflection or serialisation.
It does use Microsoft.Office.Interop.Visio which I believe is basically the same COM interop technology as is used to program against the other Microsoft Office products including Access, Word, Excel, etc. Does this Microsoft Office or COM interop technology use reflection or serialisation?
As I've excluded Microsoft.Office.Interop.Visio from both obfuscation and pruning I thought that would have excluded all the Visio methods and have obviated the need for adding attributes anywhere else in the program where the Visio methods are called? Because calls to the Visio API are littered throughout this program I can’t believe that would be necessary because the problems seem to be limited to only a few Visio methods like Select and Layer.Add.
Does anyone use SmartAssembly to obfuscate programs that use interop for Visio or for any of the other Microsoft Office programs or, failing that, any COM interop? If so, are there any guidelines that would help me narrow down the Visio methods that I need to test for problems and do they have any helpful hints or pointers for solutions, etc?