Pergunta

Eu usei NUnit antes, mas não em um tempo, e nunca nesta máquina. I abriu a versão 2.4.8 em Arquivos de programas, e eu continuo recebendo este erro ao tentar carregar meus testes.

Não foi possível carregar arquivo ou assembly 'nunit.framework, versão = 2.4.8.0, Culture = neutral, PublicKeyToken = 96d09a1eb7f44a77' ou uma de suas dependências. O sistema não pode encontrar o arquivo especificado **

A fim de simplificar o problema, eu compilei o arquivo de teste possível mais básico.

using NUnit.Framework;

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

Eu adicionei "C: \ Program Files \ NUnit-2.4.8-net-2.0 \ bin" para o meu caminho (e reiniciado). Nota que, se eu copiar o teste de montagem para essa pasta, então

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

obras, mas

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

e

C:\dev\nunit_test>nunit_console test.dll

falhar com o erro acima.

Provavelmente eu poderia contornar isso copiando a dll NUnit.Framework na pasta bin do meu projeto, mas eu não me lembro de ter que fazer isso no passado. Além disso, eu recebo o mesmo erro na GUI. Não deveria o know GUI onde a estrutura está localizada (isto é, na mesma pasta)?

@ Scott, eu não estou usando o Visual Studio. Eu uso a seguinte linha para compilar o projeto de teste.

%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, eu tentei tanto o msi e o zip com o mesmo resultado.

Foi útil?

Solução

Se você instalar usando NUnit-2.4.8-net-2.0.msi, as assembleias NUnit são adicionados ao GAC.

Você também pode reinstalar manualmente por runnig gacutil do Comando VS2005 Prompt.

Outras dicas

Certifique-se de ter adicionado uma referência a nunit.framework. Se você tem, então certifique-se as propriedades dessa referência têm a copiar conjunto de propriedade local para true.

Eu tive o mesmo problema e eu tinha instalado usando NUnit-2.4.8-net-2.0.msi. Expandindo o comentário "adicionar ao GAC" acima, aqui está o que eu fiz:

  • Abra o seu "comando Visual Sudio pronta (em geral: certifique-se gacutil está em seu caminho) e: cd "C: \ Program Files \ NUnit 2.4.8 \ bin"

  • Unregister suas entradas NUnit do GAC. Você pode fazer isso por encontrar as entradas NUnit registrado no GAC:

gacutil / l | find / i "nunit"> temp.bat && notepad temp.bat

  • Prepend as linhas nunit.core e nunit.framework com "gacutil / uf", ou seja:.

gacutil / uf nunit.core, versão = 2.4.2.0, Culture = neutral, PublicKeyToken = 96d09a1eb7f44a77

gacutil / uf nunit.framework, versão = 2.4.2.0, Culture = neutral, PublicKeyToken = 96d09a1eb7f44a77

  • Execute o arquivo bat para removê-los: temp.bat

  • Registrar o nunit dlls que você precisa:

gacutil / i nunit.core.dll

gacutil / i nunit.framework.dll

Note que a instalação NUnit atual (2.5.10) não registra-se automaticamente no GAC. Se você deve usar GAC, registrá-lo via gacutil / i onde nunitframeworkpath é geralmente% Program Files% \ NUnit \-2.0 net \ framework \ nunit-framework

I chegou a esta mensagem hoje, quando eu tentei adicionar um novo teste de montagem para um projeto de teste NUnit existente. Parece que meus projetos de teste tinha várias referências caminho para montagens nunit.framework.dll idênticas.

Se você tem mais de um teste de montagem em seu projeto NUnit, você pode querer verificar a propriedade Path da referência nunit.framework em seus projetos de teste. Uma vez eu fiz-los corresponder, a mensagem de erro foi embora.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top