Ejecuto dos instancias de Visual Studio: una para el dll externo y otra para la aplicación principal.
En las propiedades del proyecto de la DLL externa, establezca las siguientes:
Eventos de generación:
copy /y "$(TargetDir)$(TargetName).dll" "C:\<path-to-main> \bin\$(ConfigurationName)\$(TargetName).dll"
copy /y "$(TargetDir)$(TargetName).pdb" "C:\<path-to-main> \bin\$(ConfigurationName)\$(TargetName).pdb"
Depuración:
De esta manera, cada vez que genere la DLL externa, ésta se actualiza en el directorio de la aplicación principal. Si presiono depurar desde el proyecto del dll externo, la aplicación principal se ejecuta, pero el depurador solo llega a los puntos de interrupción en el dll externo. Si selecciono la depuración desde el proyecto principal, la aplicación principal se ejecuta con el dll externo más recientemente construido, pero ahora el depurador solo llega a los puntos de interrupción en el proyecto principal.
Me doy cuenta de que un depurador hará el trabajo para ambos, pero me resulta más fácil mantener las dos rectas de esta manera.
la casilla específica fue sin marcar ya. Lo que noté, sin embargo, es que ingresa en un método de la biblioteca externa, pero se interrumpe cuando trato de llamar a un método que es parte de una interfaz. – Konstantinos
Es posible que deba dirigirse a las propiedades de una DLL y asegurarse de que Copy Local esté configurado en True. De lo contrario, los módulos no podrán encontrar el .pdb para su referencia. –
* Just My Code * no parece marcar la diferencia (puedo saltar al código externo incluso si está habilitado), pero encontrar el módulo en el depurador me ayuda. – TheOperator