How can we help you today? How can we help you today?

local variable in error report

When I merge all my DLLS with the EXE, I get local variable in the error report. But when the DLLs are not merged, I do not get local variables. Is this behavior by design or am I doing something wrong?
jsm2000
0

Comments

3 comments

  • Brian Donahue
    You'll only get information like this in the error report if the methods in question were in an assembly processed by SmartAssembly. If you use merging, the necessary framework is added to the methods so that the variables are included in the error report. If you just distribute the assembly on its' own or embed it, you will not get the variable information.
    Brian Donahue
    0
  • jsm2000
    Thanks for the explanation.

    Previously, I did merge all the DLLs in with EXE but my application also uses an optional MEF-based extension DLL. When I did merge the EXE and DLLS (except the MEF extension) the MEF didn't work. My MEF extension DLL is loaded but the exported/imported interfaces aren't resilved.

    Not merging allows the MEF to work. I did try to attribute the interfaces imported/exported with <DoNotPrune(), DoNotObfuscate()> but this work.

    Any suggestions?
    jsm2000
    0
  • Brian Donahue
    I don't think they would be. The interfaces are still in the external assembly not processed by SmartAssembly, so it wouldn't know anything about the local variables in there. I take it your last sentence means the assembly no longer works if you merge. Merging will break some code.

    Sorry for being so vague - I really need to spend a few days with the assembly code to know what's going on but it sounds to me like it's all expected behavior.
    Brian Donahue
    0

Add comment

Please sign in to leave a comment.