Ответ 1
Ага!
Метод в B я вызывал возвращенный IEnumerator<SomeObject>
. Это был блок итератора с ключевыми словами доходности и поэтому не выполнялся (так как я еще не написал потребителя).
вздыхать
У меня есть решение Visual Studio 2008 с двумя проектами. DLL, A и веб-приложение, B.
B имеет ссылку на проект для A, а A.dll и A.pdb копируются в каталог B bin/.
Все настроено на компиляцию в режиме отладки.
Я могу запустить веб-сервер cassini и отлаживать веб-приложение B в порядке, но когда я пришел, чтобы вызвать метод в A.dll, нажатие F11 для входа в него не вступает в него, оно работает над ним. Я хочу войти в него.
Любые идеи, почему я не могу войти в исходный код A?
У меня нет "только моего кода".
Я могу установить точку останова в DLL, и она отображается как красный круг (не пустой), но он никогда не попадает.
Хммм... Я просто изменил код в DLL, который вызывается, чтобы начать с
throw new Exception("Hello");
И я не получаю исключения. Это довольно подозрительно...
Ага!
Метод в B я вызывал возвращенный IEnumerator<SomeObject>
. Это был блок итератора с ключевыми словами доходности и поэтому не выполнялся (так как я еще не написал потребителя).
вздыхать
Наиболее вероятная проблема заключается в том, что Visual Studio не считает DLL частью "вашего кода". Способ обойти это - отключить функцию отладки "Только мой код".
После этого вы сможете войти в свой код без каких-либо инцидентов.
Тем, кто говорит, чтобы отключить "Just My Code", он конкретно утверждает, что два проекта находятся в одном и том же решении, так что это не будет применяться. Единственный логический вывод - ошибка пользователя/непонимание.
У вас, вероятно, есть опция "Только мой код" в настройках вашей отладки. Отключите это, и вы можете перейти в код из dll.