NUnit не запускает код Visual Studio 2010

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

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

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


person Ball    schedule 30.05.2009    source источник
comment
Действительно ли этот вопрос относится к коду VS 2010 или .NET 4? - Я ищу инструмент, который позволяет мне запускать тесты NUNIT в Visual Studio 2010, и этот вопрос вводил в заблуждение.   -  person Nicolas Irisarri    schedule 17.11.2010
comment
@Nicolas - это относится к .NET 4.0.   -  person Daniel A. White    schedule 18.11.2010


Ответы (10)


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

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

В ‹configuration> добавьте:

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

и под ‹runtime> добавить:

<loadFromRemoteSources enabled="true" />
person Charles Cook    schedule 31.05.2009
comment
Работал как шарм. Спасибо! - person Ball; 05.06.2009
comment
Хорошо, обновления конфигурации заставляют его работать, но мне пришлось использовать version = v4.0.21006 для моего тега requiredRuntime. - person mkmurray; 24.12.2009
comment
Красивый! Сработало отлично. Спасибо. - person Scott Marlowe; 10.02.2010
comment
Кстати, расположение файла конфигурации по умолчанию: C: \ Program Files \ NUnit 2.5.3 \ bin \ net-2.0 \ nunit.exe.config Добавление этих параметров в конфигурацию сработало для меня. - person Brad Irby; 17.02.2010
comment
У меня это сработало и при использовании consolerunner. Я использовал задачу NUnit для проекта MSBuild Community Tasks. - person Mark Struzinski; 25.02.2010
comment
Не удалось заставить это работать с последней версией Nunit + .net4 RTM. Я добавил предложенные записи в nunit-console.exe.config, но получаю: System.ArgumentException: платформа net-4.0 недоступна Пробовал с вышеуказанными версиями + v4.0.30319 Я использую 2008 R2 x64 - person Andreas Öhlund; 14.04.2010
comment
Для средства запуска консоли измените конфигурации, как указано выше, но используя v4.0.30319 для RTM-версии .NET 4.0. Также запустите его с этим аргументом командной строки: /framework=4.0.30319 - person Lance Fisher; 21.04.2010
comment
Мне посчастливилось использовать параметр командной строки /framework:net-4.0.30319 вместо изменения конфигурации. Это было полезно, так что я мог контролировать, какие приложения используют 4.0 CLR, а какие нет. - person Kevin Crowell; 10.06.2010
comment
+1 и обновил версию № в ответе на RTM-версию .NET 4.0, поскольку именно это люди будут сейчас искать. - person AdaTheDev; 19.01.2011
comment
+1 Еще один момент: я внес два изменения в файл конфигурации и теперь могу запускать тесты .NET 4 в NUnit. :) - person JeffH; 12.10.2011
comment
+1 Удивительно, но ситуация с пелаземом не сработала в одном случае, но это исправило графическую часть NUnit. - person ashes999; 26.04.2012

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

<supportedRuntime version="v4.0.30319" />

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

person pelazem    schedule 16.04.2010

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

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

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

person darky    schedule 26.12.2011
comment
Спасибо - раскрыл мой случай. Придется использовать x86 версию nunit для модульных тестов, скомпилированных x86. Предупреждения о версии CLR были отвлекающим маневром. Использование nunit 2.5.10. - person Nigel Touch; 08.02.2012
comment
То же самое здесь, как-то нужно использовать версию x86 - person gavin; 07.05.2012

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

person Cristian T    schedule 27.04.2010
comment
Мне никогда не удавалось заставить это работать. Я видел, как люди использовали /framework:net-4.0.30319 и всевозможные другие варианты. Было бы неплохо, если бы они включили актуальные параметры в документацию сайта. - person Jason Short; 29.05.2010
comment
@Jason Похоже, что это работает только в консольной версии. Версия с графическим интерфейсом пользователя не имеет этой опции. - person Roman Starkov; 25.08.2010
comment
+1 за упоминание, что это работает, начиная с версии 2.5.5! У меня был NUnit, бросающий ArgumentExceptions и NullReferenceExceptions на одной из моих машин, и оказалось, что это из-за версии 2.5.0. - person realMarkusSchmidt; 16.12.2011

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

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

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

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

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

person Scott Marlowe    schedule 10.02.2010
comment
Спасибо за это, у меня возникла та же проблема, ваше исправление решило ее! - person CubanX; 30.06.2010

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

person Dan Paden    schedule 14.04.2011

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

person Michael Sorens    schedule 21.01.2011
comment
Я использую NUnit 2.5.9, загруженный 15/03/2011, и эта проблема не исчезнет для меня. Даже если я попробую предложенное решение - person DrLazer; 15.03.2011

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

Инструменты-> Настройки-> Поддержка IDE

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

person Crackerjack    schedule 03.06.2011

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

person Adam    schedule 22.07.2010

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

person Ernest    schedule 26.05.2011