Ответ 1
Решением было: запустить NUnit самостоятельно, затем в VS 2010 сделать debug > attach to process и прикрепить к процессу nunit-agent.exe, а не процесс nunit. Процесс Nunit все еще не сделал этого для меня.
Использование Windows 7 32 бит, VS 2010,.NET 4 DLL, NUnit (2.5.5) до unit test приложения. В настоящее время я получаю следующую ошибку; видел много сообщений и пробовал следующее:
Но я не могу заставить 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 и сбой...
Помогает ли кто-нибудь?
Спасибо.
Решением было: запустить NUnit самостоятельно, затем в VS 2010 сделать debug > attach to process и прикрепить к процессу nunit-agent.exe, а не процесс nunit. Процесс Nunit все еще не сделал этого для меня.
Вот еще один подобный вопрос здесь, в Stack Overflow, где я отправил мой ответ с тем, что сработало для меня, Я могу установить точки останова и запустить NUnit непосредственно из Visual Studio 2010 с помощью Debug → Start New Instance (который, на мой взгляд, является вашей целью).
Я установил nunit.exe в качестве внешней программы в проекте → Свойства → Отладка и добавлена:
<startup>
<requiredRuntime version="4.0.30319" />
</startup>
в файл nunit.exe.config, расположенный рядом с исполняемым файлом nunit в каталоге установки NUnit.
Я получаю "точка останова не пострадает... никакие символы не загружены..." для проекта веб-сайта. Обнаружено, что на моем сайте были ошибки сборки (по какой-то причине по одной причине из-за отсутствующей ссылки dll пропало без вести). Перестройки не отображали проблему, пока я не выбрал View = > Список ошибок в VS2010, до восстановления. Замена отсутствующей dll в каталоге bin и обновление ссылки помогли решить мою проблему.
Добавление следующего раздела в файле nunit-x86.exe.config для меня:
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/>
</startup>
Раздел "sku" необходим только при работе с .NET 4 Client Profile. Обратите внимание, что предыдущий ответ показал использование устаревшего "requiredRuntime".
Вы используете NUnit, а затем загружаете DLL? Попробуйте вместо этого открыть свойства проекта, вкладку "Отладка", переключите действие "Начать внешнюю программу", укажите на NUnit exe, поместите свое имя dll в "аргументы командной строки". Затем запустите проект библиотеки правой кнопкой мыши и выберите Debug → start new instance.
Если все вышеперечисленное не помогло, откройте "Свойства вашего проекта NUnit" в Visual Studio, откройте вкладку "Построить", нажмите кнопку "Дополнительно" и убедитесь, что "Debug Info" установлена в "full"
Прикрепите процесс nunit-agent.exe вместо nunit.exe, потому что, когда версия dotnet отличается от того, что используется nunit it self, nunit выполняет задачу агентом nunit. См. Ссылку ниже.
Эта проблема возникла у меня в 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>
Мне нужно было открыть графический интерфейс 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>