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 lo siguiente:
Crear eventos:
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"
Depurar:
De esta manera, cada vez que construyo el dll externo, se actualiza en el directorio principal de la aplicación. Si presiono depurar desde el proyecto del dll externo, la aplicación principal se ejecuta, pero el depurador solo alcanza los puntos de interrupción en el dll externo. Si llego a depurar desde el proyecto principal, la aplicación principal se ejecuta con el dll externo construido más recientemente, pero ahora el depurador solo alcanza 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 los dos en línea de esta manera.
MatrixManAtYrService
fuente