Я запускаю два экземпляра Visual Studio - один для внешнего DLL и один для основного приложения.
В свойствах проекта внешней библиотеки установите следующее:
События сборки:
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"
Отлаживать:
Таким образом, всякий раз, когда я собираю внешнюю DLL, она обновляется в каталоге основного приложения. Если я нажимаю отладку из проекта внешней библиотеки DLL - основное приложение запускается, но отладчик поражает только точки останова во внешней библиотеке DLL. Если я нажму на отладку из основного проекта, основное приложение будет работать с самой последней созданной внешней библиотекой DLL, но теперь отладчик достигает только точек останова в основном проекте.
Я понимаю, что один отладчик будет выполнять работу для обоих, но мне легче поддерживать эти два способа прямо.