Home
Options

broken intellisense with obfuscated assembly?

I'm using LINQPad v4.43.05(AnyCPU)

In a new query window, I hit F4 and added Aspose.Slides via NuGet - I confirmed that it installed correctly, at least in terms of writing it under %localappdata%\LINQPad\NuGet and if I run a 'C# Statement(s)' query of this:
var foo = new Aspose.Slides.Presentation();
AppDomain.CurrentDomain.GetAssemblies().Dump();
I get an entry that shows a FullName of Aspose.Slides, Version=6.9.0.0, Culture=neutral, PublicKeyToken=716fcc553a201e56 and a CodeBase/Location of a shadow dll (...\Temp\LINQPad\hgwuivix\shadow_qcookm\aspose.slides.dll)

Loading the assembly in reflector shows that a lot of the namespaces are ones that it doesn't understand (the names just show up with boxes for the characters). I'm not sure if they're valid Unicode/utf8/something that would be fine from C# or if they're in a 'valid for MSIL, but not valid in C#' state. In any case, near the bottom of the list of namespaces shown in reflector are their public classes, like Aspose.Slides, Aspose.Slides.Effects, etc.

I'm *guessing* this is obfuscation - it could be some other process that just looks like obfuscated results, I suppose. Thankfully it should be easy to reproduce since it's just 'install Aspose.Slides via NuGet into a LINQPad query window' :)

Since the intellisense in linqpad doesn't show any of these namespaces, my current guess is that the 'mangled' namespaces in the assembly are causing the 'valid' ones to be skipped / not imported.

Is there any chance whatever the intellisense namespace-population logic is could be changed to handle assemblies (like this one) where some of the namespaces are 'mangled' (but still valid, presumably, since the code runs fine), but still including the ones that are fine?

Thanks!

Comments

  • Options
    Is there a better way to report this? UserVoice seems to be enhancement requests, and StackOverflow seems to be more usage questions than 'bug reports'. I certainly don't know nearly enough about how Intellisense works in LINQPad to know if it's something that's actually broken in a component that's being used and I need to refile this as a bug report on some other entity, but would be happy to do so if given the pointer. :)

    Thanks!
  • Options
    Yes - this is the best way to report a bug. It's most likely some issue in one of the libraries that I'm using - I'll see I can find it.
  • Options
    Not to resurrect an old post, but I'm having the same issue with aspose.pdf. I've tried via nuget and also directly downloading and referencing the dll. While the library works fine, there is absolutely no intellisense for it.
Sign In or Register to comment.