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

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

  • перезапустить машину
  • перезапустить VS
  • удалить bin/obj и перезагрузить
  • чистой/восстановления

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

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

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

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

Помогает ли кто-нибудь?

Спасибо.

Ответ 1

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

Ответ 2

Вот еще один подобный вопрос здесь, в Stack Overflow, где я отправил мой ответ с тем, что сработало для меня, Я могу установить точки останова и запустить NUnit непосредственно из Visual Studio 2010 с помощью Debug → Start New Instance (который, на мой взгляд, является вашей целью).

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

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

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

Ответ 3

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

Ответ 4

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

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

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

Ответ 5

Вы используете NUnit, а затем загружаете DLL? Попробуйте вместо этого открыть свойства проекта, вкладку "Отладка", переключите действие "Начать внешнюю программу", укажите на NUnit exe, поместите свое имя dll в "аргументы командной строки". Затем запустите проект библиотеки правой кнопкой мыши и выберите Debug → start new instance.

Ответ 6

Если все вышеперечисленное не помогло, откройте "Свойства вашего проекта NUnit" в Visual Studio, откройте вкладку "Построить", нажмите кнопку "Дополнительно" и убедитесь, что "Debug Info" установлена ​​в "full"

Ответ 7

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

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

Ответ 8

Эта проблема возникла у меня в 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>

Ответ 9

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

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

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

Мне нужно

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

под <configuration>