Nunit.exe не может работать над Vista 64 бита, если x86 создают

Как будто вы пытаетесь получить доступ к объекту, который является null. Рассмотрим ниже пример:

TypeA objA;

. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException, что имеет смысл.

См. Также этот пример:

String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
27
задан Community 23 May 2017 в 11:59
поделиться

4 ответа

Хорошо я нашел решение в этом веб-сайт . Необходимо использовать \NUnit-2.4.8\bin\nunit-x86.exe вместо \NUnit-2.4.8\bin\nunit.exe... не знал, что \bin\имел 2 nunit!!!

Спасибо весь

52
ответ дан Patrick Desjardins 28 November 2019 в 04:46
поделиться

Хост NUnit, вероятно, работает как процесс на 64 бита (можно подтвердить это путем взгляда в диспетчере задач). Если Вы, блок является x86 только тогда, это не будет в состоянии работать в том процессе.

можно попытаться работать corflags на исполняемом файле NUnit, чтобы вынудить его выполнить x86, с помощью/32bit + флаг

5
ответ дан Rob Walker 28 November 2019 в 04:46
поделиться

Это может также произойти при обновлении от TeamCity 3.1 до 4,0 на сервер сборки x64 с набором Платформы Выполнения MSBuild к x86. Бегун TeamCity, кажется, принимает значение по умолчанию платформа по-другому в 4,0, чем 3,1, не соблюдая то, что сборка выполняет x86.

В моем случае, первая фиксация, которая работала, добавляла переопределение Платформы к вызову NUnit в моем сценарии MSBuild:

<NUnit Assemblies="Test/bin/$(Platform)/$(Configuration)/Test.dll" Platform="x86" /> 

(т.е. исполнитель тестов TeamCity способ вызвать 32 бита как в других предложениях)

(Это включает, когда цель платформы для опытной сборки является Любым ЦП (хотя, как это происходит, я установил их на x86 явно как, некоторые тесты динамично загружают DLLs, которые ограничиваются к x86)).

4
ответ дан Ruben Bartelink 28 November 2019 в 04:46
поделиться

Почему Вы используете x86 конфигурацию и не Какой-либо ЦП?

я предположил бы, что при загрузке NUnit он был создан с опцией Any CPU, таким образом, МОНЕТЫ В ПЯТЬ ЦЕНТОВ к коду x64. Когда это пытается загрузить Ваши тесты, которые конкретно компилируются для выполнения как x86, это выдает исключение.

я попытался бы изменить все Ваши параметры конфигурации на Любой ЦП и видел бы, решает ли это Вашу проблему.

0
ответ дан John Sibly 28 November 2019 в 04:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: