Visual Studio: отладка связанной DLL, у меня есть источник в другом SLN
Я пытаюсь отлаживать проект, который имеет ссылку на DLL, которую я добавил, DLL хранится во внешнем каталоге, и я просто добавил ссылку. Теперь, конечно, я могу отлаживать свой проект, но строка, которая вызывает метод на моей другой DLL, я не могу в нее вступить, то есть F12.
Один из способов сделать это - добавить мой проект (dll) в качестве существующего проекта в мое решение и заменить ссылочную DLL, чтобы использовать прикрепленный проект, а не файл на диске.
Но какой беспорядок, я уверен, что есть более чистый способ?
Кажется, я помню, копирую ли некоторые файлы PDB или что-то, но я не могу вспомнить. И мне нужно открыть 2 копии визуальной студии, 1 для моего основного проекта и 1 для моей ссылки DLL??
Ответы
Ответ 1
Восстановите второе решение в режиме отладки на вашей собственной машине (чтобы пути к файлам в этом PDB были специфичными для вашего компьютера).
Скопируйте и файлы .DLL и .PDB в папку справки. Visual Studio автоматически загрузит файл .PDB и использует пути к файлам для отображения источника.
Вы также можете использовать Symbol Server и Source Server для достижения этой цели, когда ссылочная сборка построена в другом месте: http://msdn.microsoft.com/en-us/library/vstudio/ms241613.aspx
Ответ 2
Я получил решение, выполнив ниже
Попробуйте отключить Just My Code (JMC).
Инструменты → Параметры → Отладчик
Снимите флажок "Включить только мой код"
Ответ 3
У меня была та же проблема, которую я разрешил, очистив и восстановив решение. Он исправит ссылки в файлах .pdb, чтобы найти и ударить точку прерывания во втором проекте.
Ответ 4
Когда вы делаете сборку Debug, все файлы dll и pdb устанавливаются в хост-проекте. Поэтому не нужно копировать файлы вручную.
Щелкните правой кнопкой мыши по решению, выберите Добавить/Существующий проект...
Перейдите в папку Class lib и выберите файл proj (например, myproj.csproj).
Файлы не копируются, просто ссылаются и вы можете открыть источник для класса в среде IDE и установить контрольные точки обычным способом, и он просто работает.