VS 2010, NUNit и «Точка останова в настоящий момент не будет достигнута. Для этого документа не было загружено ни одного символа» - PullRequest
30 голосов
/ 19 июня 2010

Использование Windows 7 32 бит, VS 2010, .NET 4 DLL, NUnit (2.5.5) для модульного тестирования приложения.В настоящее время я получаю следующую ошибку;просмотрел множество постов и попробовал следующее:

  1. перезагрузить компьютер
  2. перезагрузить VS
  3. удалить bin / obj и перезагрузить
  4. очистить / восстановить

Но я не могу заставить NUnit поразить мои точки останова при запуске;

Я установил тестовый проект NUNit так, чтобы он указывал на nunit.exe и загружал тестируемую DLL-библиотеку .NET 4,но когда я запускаю, он не находит точку останова, "символы не были загружены".Я попытался отладить> windows> модули, он даже не показывает мой проект модульного тестирования, когда я его запускаю.

Я нашел это, чтобы использовать агент nunit: http://groups.google.com/group/nunit-discuss/browse_thread/thread/5680d7def5b6982f

Но явыдает ошибку, когда я использую nunit agent тоже.Я использовал nunit-agent-x86.exe, но у меня появляется system.formatexception, и он вылетает ...

Кто-нибудь может помочь?

Спасибо.

Ответы [ 9 ]

43 голосов
/ 09 июля 2010

Есть еще один похожий вопрос здесь, на переполнении стека , где я отправил мой ответ с тем, что сработало для меня.Я могу установить точки останова и запустить NUnit напрямую из Visual Studio 2010 с помощью команды «Отладка» -> «Начать новый экземпляр» (которая, как мне кажется, является вашей целью).

Я установил nunit.exe в качестве внешней программы в проекте -> Свойства -> Отладка и добавил:

<startup>
    <requiredRuntime version="4.0.30319" />
</startup>

в файл nunit.exe.config, находящийся рядом с исполняемым файлом nunit вкаталог установки NUnit.

16 голосов
/ 24 июня 2010

Разрешение было следующим: запустить автономный NUnit, затем в VS 2010 выполнить отладку> присоединить к процессу и подключиться к процессу nunit-agent.exe, а не к процессу nunit.Процесс монахов все еще не сделал этого для меня.

1 голос
/ 21 марта 2013

Если все вышеперечисленное не помогло, откройте Свойства вашего проекта NUnit в Visual Studio, откройте вкладку «Сборка», нажмите кнопку «Дополнительно» и убедитесь, что для «Отладочная информация» установлено значение «полная»

1 голос
/ 15 марта 2011

Добавление следующего раздела в nunit-x86.exe.config работало для меня:

  <startup>
      <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/>
  </startup>

Раздел 'sku' необходим только при работе с клиентским профилем .NET 4. Обратите внимание, что предыдущий ответ показывал использование 'requiredRuntime', которое устарело.

1 голос
/ 08 января 2011

Я получаю "точка останова не будет достигнута ... символы не загружены ..." для проекта веб-сайта. Обнаружил, что на моем сайте были ошибки сборки (одна из упомянутых dll пропала по какой-то причине). Перестройки не показывали проблему, пока я не выбрал View => Список ошибок в VS2010, до перестройки. Замена отсутствующей библиотеки DLL в каталоге bin и обновление ссылки решили мою проблему.

0 голосов
/ 08 июля 2016

Мне нужно было открыть графический интерфейс NUnit

Инструменты-> Настройки-> Поддержка IDE [щелкните Visual Studio]

Затем в nunit-x86.exe.config (НЕ nunit-exe.config, НЕ nunit.agent.exe.config, НЕ nunit-console.exe.config ) ,

Мне нужно

   <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0.30319" />
  </startup>

под <configuration>

0 голосов
/ 25 июля 2015

Эта проблема возникла у меня в Visual Studio 2012 Community Edition при работе с .NET Framework 4.5. nunit.exe.config должен понравиться (решение из наиболее признанного ответа):

<configuration>
    <!--
   The GUI only runs under .NET 2.0 or higher. The
   useLegacyV2RuntimeActivationPolicy setting only
   applies under .NET 4.0 and permits use of mixed 
   mode assemblies, which would otherwise not load 
   correctly.
  -->
    <startup useLegacyV2RuntimeActivationPolicy="true">
        <!-- Comment out the next line to force use of .NET 4.0 -->
         <requiredRuntime version="4.0.30319" />
    </startup>
0 голосов
/ 20 мая 2013

Присоедините процесс nunit-agent.exe вместо nunit.exe, потому что когда версия dotnet отличается от той, которая используется nunit самостоятельно, nunit выполняет задачу агентом nunit.См. Ссылку ниже.

http://www.nunit.org/index.php?p=nunit-agent&r=2.5.10

0 голосов
/ 20 июня 2010

Вы запускаете NUnit и затем загружаете DLL?Вместо этого попробуйте открыть свойства проекта, вкладку «Отладка», переключить начальное действие на «Запустить внешнюю программу», указать NUnit exe, ввести имя вашей dll в «аргументы командной строки».Затем запустите проект библиотеки, щелкнув его правой кнопкой мыши и выбрав «Отладка» -> «Начать новый экземпляр».

...