NUnit не выполняет код Visual Studio 2010

Я пытаюсь загрузить бета-версию Visual Studio 2010 в графический интерфейс NUnit. Я получаю ошибку всплывающего окна.

Эта сборка создается средой выполнения, более новой, чем текущая загруженная среда, и не может быть загружена. Возможно, вы пытаетесь загрузить сборку сборки с более поздней версией CLR, чем версия, под которой в данный момент работает NUnit.

Как заставить исполняемый файл работать под.NET 4?

10 ответов

Решение

Я скачал исходный код NUnit 2.5 и открыл решение VS2008 в бета-версии VS2010. После завершения преобразования я открыл все проекты и изменил настройку целевого фреймворка для всех проектов на ".NET Framework 4.0". Затем я построил решение без каких-либо ошибок. Теперь я могу использовать приложение NUnit GUI для запуска тестов, созданных для.NET 4.0. Я не провел исчерпывающего тестирования этой сборки, поэтому могут возникнуть проблемы, но для моих целей он работает нормально.

Обновление: нет необходимости перестраивать NUnit. Я обнаружил, что если вы добавите следующее в соответствующий файл конфигурации NUnit, вы сможете запустить тестовую dll, созданную для.NET 4.0.

Под <конфигурация> добавьте:

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

и в добавьте:

<loadFromRemoteSources enabled="true" />

С выходом.NET 4 я использовал

<supportedRuntime version="v4.0.30319" />

в NUnit 2.5.4 exe.config вместо requiredRuntime и тег loadFromRemoteResources, как показано выше, и все работало хорошо. Спасибо!

Вам не нужно изменять какой-либо файл

просто откройте этот файл, и все будет работать нормально

C:\Program Files (x86)\NUnit 2.5.10\bin\net-2.0\nunit-x86.exe

В NUnit 2.5.5 вы можете указать в командной строке параметр /framework=net-4.0, и он совместим с новыми сборками, созданными с выпуском последней версии VS2010.

Предложенное решение отлично работает для запуска NUnit. К сожалению, когда я добрался до шага покрытия кода, NCover начал давать мне:

Профилированный процесс завершен. Соединение профилировщика не установлено.

Лучшее решение, которое я нашел, это просто использовать версию NUnit "-x86" с NCover:

NCover.Console.exe nunit-console-x86.exe - дополнительные параметры--

Работает сейчас

Чтобы найти свою версию.net 4 из Visual [C# 2010 Express или еще какой-либо], перейдите в раздел "О программе" приложения Visual в пункте "Справка" меню. Он должен отображаться как версия под строкой Microsoft .NET Framework в верхней правой части окна.

Начиная с NUnit 2.5.10, вы можете включить поддержку Visual Studio в GUI Runner:

Сервис-> Настройки-> Поддержка IDE

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

Я столкнулся с тем же сообщением об ошибке во время работы NUnit 2.4.8. Поскольку я некоторое время не обновлялся, я установил текущий NUnit (v2.5.9) и обнаружил, что он теперь поддерживает сборки VS2010. Поэтому, если вы недавно столкнулись с этой ошибкой, проверьте свою версию NUnit: с декабря 2010 года (или около того) единственное, что вам нужно сделать, это обновить NUnit.

Если вы столкнулись с этой проблемой после обновления до nunit 2.5.5, вам нужно будет обновить nant до последней версии, для меня это была альфа-версия.91.

Я нашел полезным начать с шаблона приложения NUnit. Он поддерживает VS C# Express, позволяет отлаживать тесты и содержит предварительно скомпилированный NUnit для.NET 4.0. Спасибо автору, новый тестовый проект готовится одним кликом.

Другие вопросы по тегам