Visual Studio: отладка ссылочной DLL, у меня есть источник в другом SLN


Я пытаюсь отладить проект, который имеет ссылку на DLL, которую я добавил, DLL хранится во внешнем каталоге, и я только что добавил ссылку. Теперь, конечно, я могу отлаживать свой проект, но строка, которая вызывает метод на моей другой dll, я не могу войти в нее, т. е. F12.

один из способов, которым я смог это сделать, - добавить мой проект (dll) в качестве существующего проекта в мое решение и заменить указанную dll, чтобы использовать прикрепленный проект, а не файл на диске.

но какой беспорядок, я уверен, что есть более чистый способ?

Я, кажется, помню, если я копирую некоторые файлы PDB или что-то, но я не могу вспомнить. И мне нужно открыть 2 копии visual studio, 1 для моего основного проекта и 1 для моей библиотеки DLL??

4 60

4 ответа:

перестроить второе решение в режиме отладки на вашем собственном компьютере (так что пути к файлам в этом PDB специфичны для вашего компьютера).

скопировать и the .DLL и .PDB файлы в папку ссылок. Visual Studio будет подбирать .PDB файл автоматически и использовать пути к файлам, чтобы показать источник.

вы также можете использовать сервер символов и исходный сервер для достижения этой цели, когда ссылочная сборка построена в другом месте: http://msdn.microsoft.com/en-us/library/vstudio/ms241613.aspx

Я получил решение, сделав ниже

попробуйте отключить только мой код (JMC).

Сервис -> Параметры -> Отладчик Снимите флажок "Включить только мой код"

У меня была такая же проблема, которую я решил, очистив и восстановив решение . Это исправит ссылки В.pdb файлы, чтобы найти и ударить точку останова во втором проекте.

когда вы выполняете отладочную сборку, все файлы dll и pdb устанавливаются в проекте хоста. Таким образом, не должно быть необходимости копировать файлы вручную.

щелкните правой кнопкой мыши на решении, выберите Добавить / существующий проект... Перейдите в папку класса lib и выберите файл proj (например, myproj.csproj). Файлы не копируются, просто ссылаются, и вы можете открыть исходный код для класса в IDE и установить точки останова обычным способом, и он просто работает.