Obfuscated dll in SharpDevelop does not show code completion

CrazyMonkey01CrazyMonkey01 Posts: 3 Bronze 2
edited June 3, 2011 6:01AM in SmartAssembly
We sell a commercial .net component (dll) that is obfuscated with SmartAssembly 6.

A customer contacted us regarding use in SharpDevelop 4. He is able to compile and run apps built in SharpDevelop.

However, in the SharpDevelop IDE, code completion/Intellisense does not work. After typing an object's instance name and a period, rather than popping up intellisense showing the component's interface, nothing happens. I confirmed this on my copy of SharpDevelop 4.

Using the same dll, I verified proper code completion/intellisense operation is Visual Studio versions 2005, 2008, and 2010 on the same PC.

I took it one step further and used the non-obfuscated build of our dll and found that code completion/intellisense started working in SharpDevelop.

Looking for some direction about how to diagnose, who to contact, etc.

Comments

  • Brian DonahueBrian Donahue Posts: 6,590 Bronze 1
    From all appearance, SharpDevelop, unlike Visual Studio, uses Reflectionto populate the code completion choices. Visual Studio uses XML documentation files, so Intellisense should continue to work with a protected assembly in its' IDE.

    If the options used to protect the DLL include ones that will confuse Reflection, then there probably isn't anything you can do to make it work again. Since Reflection offers such a rich interface for reading assembly metadata, it's often the first step in referse-engineering an assembly, and this is exactly what SmartAssembly is trying to prevent.
Sign In or Register to comment.