Ok, after resolving how to Hot-Load a DLL in a running App at Runtime (See my previous post), I have noticed that breakpoints inserted in the freshly loaded DLL are not hit.

Situation
I have a server Application that I want to avoid terminating/re-running every time I make a change to a Dynamically loaded DLL (by Reflection)

Goal
Here is what I am trying to do (I am aware this may not be possible per se) :

  • Run Application.exe
  • Load into it Process.dll in newAppDomain and run Process
  • Debug Process.dll
  • Unload Process.dll
  • Edit Process code, recompile Process.dll
  • Dynamically reload it in Application.exe
  • Debug Process.dll
  • etc...

Problem
I have noticed that when Application.exe is launched in Debug mode, code that is loaded from another AppDomain is unreachable by the debugger attached to Application.exe (I guess If i just launch Application.exe directly from executable file, there is no way to get VS debugger to debug anything, inluding the newly loaded DLL)

Prossible workaround
A workaround (ugly) solution is to separate the "injection" of the DLL into the running App in a separate executable, that would be, then, monitorable by the VS Debugger

I mus admit I am a bit confused. Any efficient, clean ideas ?

Edit
Report