Подтвердить что ты не робот

Узел NUnit не найден

Я использовал NUnit раньше, но не через некоторое время, и никогда на этой машине. Я разархивировал версию 2.4.8 в разделе Program Files, и я продолжаю получать эту ошибку при попытке загрузить мои тесты.

Не удалось загрузить файл или сборку 'nunit.framework, Version = 2.4.8.0, Culture = neutral, PublicKeyToken = 96d09a1eb7f44a77' или одну из его зависимостей. Система не может найти указанный файл **

Чтобы упростить задачу, я скомпилировал наиболее простой возможный тестовый файл.

using NUnit.Framework;

namespace test
{
    [TestFixture]
    public class Tester
    {
        [Test]
        public void ATest()
        {
            Assert.IsTrue( false, "At least the test ran!" );
        }
    }
}

Я добавил "C:\Program Files\NUnit-2.4.8-net-2.0\bin" к моему PATH (и перезагружен). Обратите внимание: если я скопирую тестовую сборку в эту папку, то

C:\Program Files\NUnit-2.4.8-net-2.0\bin>nunit-console test.dll

работает, но

C:\Program Files\NUnit-2.4.8-net-2.0\bin>nunit-console c:\dev\nunit_test\test.dll

и

C:\dev\nunit_test>nunit_console test.dll

с ошибкой выше.

Предположительно, я мог обойти это, скопировав dll NUnit.Framework в мою папку bin проекта, но я не помню, чтобы это делалось в прошлом. Более того, я получаю ту же ошибку в графическом интерфейсе. Разве GUI не должен знать, где находится инфраструктура (то есть в той же папке)?

@Scott, я не использую Visual Studio. Я использую следующую строку для компиляции тестового проекта.

%windir%\Microsoft.NET\Framework\v2.0.50727\csc.exe /r:"C:\Program Files\NUnit-2.4.8-net-2.0\bin\nunit.framework.dll" /t:library /out:test.dll test.cs

@devio, я пробовал как msi, так и zip с тем же результатом.

4b9b3361

Ответ 1

Если вы устанавливаете с помощью NUnit-2.4.8-net-2.0.msi, сборки NUnit добавляются в GAC.

Вы также можете переустановить вручную runnig gacutil из командной строки VS2005.

Ответ 2

Убедитесь, что вы добавили ссылку на nunit.framework. Если у вас есть, убедитесь, что свойства этой ссылки имеют локальное свойство копирования, равное true.

Ответ 3

У меня была та же проблема, и я установил с помощью NUnit-2.4.8-net-2.0.msi. Расширив комментарий "добавить к gac" выше, вот что я сделал:

  • Откройте свою "визуальную командную команду sudio" (обычно: убедитесь, что gacutil находится на вашем пути) и: cd "C:\Program Files\NUnit 2.4.8\bin"

  • Отмените регистрацию записей nunit из gac. Вы можете сделать это, найдя записи nunit, зарегистрированные в gac:

gacutil/l | find/i "nunit" > temp.bat && & & блокнот temp.bat

  • Подготовьте строки nunit.core и nunit.framework с помощью "gacutil/uf", то есть:

gacutil/uf nunit.core, Версия = 2.4.2.0, Культура = нейтральная, PublicKeyToken = 96d09a1eb7f44a77

gacutil/uf nunit.framework, Version = 2.4.2.0, Culture = neutral, PublicKeyToken = 96d09a1eb7f44a77

  • Запустите файл bat, чтобы удалить их: temp.bat

  • Зарегистрируйте требуемые DLL файлы nunit:

gacutil/i nunit.core.dll

gacutil/i nunit.framework.dll

Ответ 4

Обратите внимание, что текущая установка NUnit (2.5.10) не регистрируется автоматически на GAC. Если вы должны использовать GAC, зарегистрируйте его через gacutil/i, где nunitframeworkpath обычно% Program Files%\NUnit\net-2.0\framework\nunit-framework

Ответ 5

Я получил это сообщение об ошибке сегодня, когда попытался добавить новую тестовую сборку в существующий тестовый проект NUnit. Похоже, что мои тестовые проекты имели несколько ссылок на ссылки на идентичные сборки nunit.framework.dll.

Если в проекте NUnit имеется несколько тестовых сборок, вы можете проверить свойство Path для ссылки nunit.framework в ваших тестовых проектах. Как только я их сопоставил, сообщение об ошибке исчезло.