Контрольная точка VS 2008 в настоящий момент не будет удалена. Для этого документа не были загружены никакие символы

Я изо всех сил пытаюсь преодолеть это препятствие, и я возлагаю большие надежды на то, что кто-то из них может помочь.

enter image description here

Когда я устанавливаю точку останова в моем проекте библиотеки классов. Он выглядит как нормальная точка останова. Когда я начинаю отлаживать свое решение, точка останова становится выдолбленной и имеет желтый треугольник с восклицательным знаком внутри. Всплывающая подсказка, отображаемая при кадрировании над точкой останова: " В настоящий момент точка останова не будет удалена. Для этого документа не были загружены символы."

Этот проект не является приложением ASP.NET, это просто приложение winForms.

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

Что я сделал до сих пор:

  • Я удалил все папки отладки и выпуска,
  • Я удалил папку obj и впоследствии восстановил решение.
  • Я перезапустил IDE VS2008.
  • Я перезагрузил свой компьютер.
  • Я проверил Configuration Manager для решения, чтобы убедиться, что мой проект класса включен в сборку отладки, и он есть.
  • Я проверил debug/modules для dll, хотя я не пытаюсь ссылаться на dll.

Кроме того, я следил за шагами по устранению неполадок, описанными в сообщениях SO:

точка останова в настоящий момент не будет удалена без загрузки символов

VS 2010, NUNit и" В настоящий момент точка останова не будет удалена. Для этого документа не были загружены символы

В настоящий момент точка останова не будет удалена. Для этого документа не были загружены никакие символы.

Невозможно отладить - "В настоящий момент точка останова не будет удалена. Для этого документа не были загружены"

Фиксация "В настоящий момент точка останова не будет удалена. Для этого документа не было загружено никаких символов" .

Кроме того, я прочитал множество сообщений, найденных на Google из MSDN и других местах, ни одна из которых не соответствует моим конкретным потребностям.

Некоторые из этих сообщений:

Visual Studio 2008" Точка прерывания в настоящий момент не будет удалена. Для этого документа не было загружено никаких символов

В настоящий момент точка останова не будет удалена. Для этого документа не загружены символы

В настоящий момент точка останова не будет удалена. Для этого документа не загружены символы.

Проблема отладчика" В настоящий момент точка останова не будет удалена. Для этого документа не были загружены символы

В данный момент точка останова не будет удалена. Для этого документа не были загружены символы.

Все сообщения, которые я прочитал, были очень информативными, но ни одно из предлагаемых решений не соответствовало моим конкретным потребностям. Пожалуйста, дайте мне знать, если требуется дополнительная информация. У меня есть больше ссылок, которые я могу предоставить в качестве ссылок на то, что не сработало. Как и дополнительные шаги, предпринятые мной для решения этой проблемы.

Я отправляю это продолжение, чтобы все были в порядке. Я воспользовался предложением @Hans @, чтобы вызвать соответствующий файл проекта.

Я разместил dim frm как form = new ProjectInQuestion.FormInQuestion

и

теперь у вас есть сборка в модуле debug → Windows- >

Новая проблема более запутанна, чем моя оригинальная проблема. Мои контрольные точки выглядят прекрасно, но их пропускают. В точке останова нет ошибки.

enter image description here

Ответ 1

Это может быть старый вопрос, но я хотел ответить на него после того, как нашел решение этой проблемы, потому что это был один из самых полных вопросов, заданных в отношении этой темы.

Введение

Мой проект - это приложение ASP.NET, но основная проблема будет и на WinForms. Проблема возникает, когда DLL отсутствует на выходе сборок. Однако это же исключение возникает, если DLL, на которую вы ссылаетесь, ссылается на другую DLL, которая отсутствует в сборках. Из-за того, как операционная система загружает DLL, связанная DLL должна находиться в пути к среде, а не в ваших выходных сборках.

Проект A ссылается на DLL D. DLL D ссылается на DLL X. DLL D может быть в ваших выходных сборках. DLL X должен находиться в вашем пути к среде.

Основной причиной этой проблемы является то, как операционная система загружает собственную DLL в > runtime. Собственная DLL загружается с использованием следующей логики, которая не включает > Временные файлы ASP.net, а также папку приложений /bin. Эта проблема также будет возникать в любом приложении .Net, если Native DLL не входит в папку /bin с файлом .EXE > или если DLL не находится в переменной среды пути.

Личное решение

Я использовал DLL под названием DivaAPIWrapper.dll(управляемая DLL для С#). Однако я знал, что DivaAPIWrapper.dll должен работать с DivaAPI.dll(Unmanaged С++). Я поместил DivaAPI.dll во все мои пути вывода, но я продолжал получать эту ошибку. Только после того, как я поместил DivaAPI.dll в мой путь к среде (C:\windows\Microsoft.Net\Framework\v2.0.50727), это сработало. Обратите внимание: ваш путь может отличаться, если вы используете более новую версию .NET framework!

Полное решение Джерри Ормана

Смотрите ссылку здесь: http://blogs.msdn.com/b/jorman/archive/2007/08/31/loading-c-assemblies-in-asp-net.aspx

Ответ 2

Я также столкнулся с такой же проблемой и нашел много решений из Интернета, но решение для меня приведено ниже:

Из-за моего приложения, сделанного в версии 4.0, я пытался подключить процесс с версией ниже версии 2.0, поэтому убедитесь, что ваша версия фреймворка с версией управляемого сервера показана ниже.

enter image description here

Ответ 3

Это произошло со мной в последнее время при подключении к запущенному процессу. Проблема заключалась в том, что для параметров отладки были установлены

Присоединить к: Родительский код

Для моего случая это должно быть:

Присоединить к: Управляемый код

Ответ 4

Одна вещь, которую я обнаружил недавно, и работал довольно хорошо.

Приложение-хостинг (тот, который вызывает вашу DLL, которая будет использоваться) должна иметь следующую строку:

<supportedRuntime version="v4.0"/>

в файле "WhateverApplicationItIs.exe.config" внутри раздела <configuration>.

Пример: (см. "..." как любой файл внутри него и оставить как есть)

<configuration>
    ...
    <supportedRuntime version="v2.0.50727"/>
</configuration">

PS: попробуйте сопоставить эту версию с целевой структурой, установленной в ваших свойствах проекта. Я считаю, что 2.0.50727 - хорошая попытка для 3.5 Framework и 4.0 для 4.0 Framework.

Для меня это просто решило две разные библиотеки DLL, которые я пытался отлаживать в разных приложениях.

Ответ 5

У меня это происходит все время, как вы сказали, точка останова не активна до загрузки DLL. Это действительно неважно, потому что он должен загрузить DLL, прежде чем код сможет добраться до этой точки. Мои контрольные точки начинаются таким образом, но они всегда попадают.

Ответ 6

Убедитесь, что вы не изменили процессор, на котором вы пытались скомпилировать этот проект. У меня было, и когда я изменил его, все снова сработало. По-видимому, изменение в процессоре делает его "отличным от оригинального"

Ответ 7

У меня была такая же проблема с VS2008 в приложении Vb.net-forms, где я назвал dll в другом проекте, загруженном в ту же группу проектов. Я нашел это простое решение: я загрузил экземпляр в событие form_load, например  Dim pmg Как новый PMGExport.PMGExportNeu.

Ответ 8

Проверьте, разрешен ли режим Configurator на панели инструментов (рядом с кнопкой "Выполнить" ) "Отладка", а не "Отпуск"

Ответ 9

Надеюсь, что это поможет...

Я ссылался на DLL, которая была в моей папке bin\Release, хотя я был в режиме отладки.

Я скопировал DLL в папку bin\Debug, и когда я запустил VS, точка останова была удалена.

Ответ 10

попробуйте это,  В Vs 2008 перейдите в Инструменты- > вариант- > Отладка- > Общие- > Непроверенные/Отключить 'Требует, чтобы исходные файлы точно соответствовали исходной версии

Ответ 11

Проверьте, разрешен ли режим Configurator на панели инструментов (рядом с кнопкой "Выполнить" ) "Отладка", а не "Отпустить", Работал для меня спасибо

Ответ 12

Убедитесь, что в Visual Studio перед тем, как начать отладку, выбран параметр debug mode.

Посмотрите раскрывающийся список, рядом с кнопкой Play в Visual Studio.