local variable in error report

jsm2000jsm2000 Posts: 5
edited March 27, 2012 9:44AM in SmartAssembly
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?

Comments

  • Brian DonahueBrian Donahue Posts: 6,590 Bronze 1
    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.
  • 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?
  • Brian DonahueBrian Donahue Posts: 6,590 Bronze 1
    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.
Sign In or Register to comment.