20

私は以前に NUnit を使用したことがありますが、しばらくの間ではなく、このマシンでは使用したことがありません。バージョン 2.4.8 を で解凍Program Filesしましたが、テストをロードしようとするとこのエラーが発生し続けます。

ファイルまたはアセンブリ 'nunit.framework, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません**

問題を単純化するために、可能な限り最も基本的なテスト ファイルをコンパイルしました。

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

上記のエラーで失敗します。

おそらく、NUnit.Framework DLL ファイルをプロジェクトのbinフォルダーにコピーすることで、これを回避できると思いますが、過去にこれを行う必要があったことを覚えていません。さらに、GUI でも同じエラーが発生します。GUI は、フレームワークがどこにあるか (つまり、同じフォルダー内) を認識すべきではありませんか?

私は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

.msi と .zip ファイルの両方を試してみましたが、結果は同じでした。

4

5 に答える 5

12

nunit.framework への参照を追加したことを確認してください。持っている場合は、その参照のプロパティの copy local プロパティが true に設定されていることを確認してください。

于 2008-10-07T01:02:54.703 に答える
11

同じ問題が発生し、NUnit-2.4.8-net-2.0.msiを使用してインストールしました。「GACに追加」コメントを拡張して、これが私がしたことです:

  • 「VisualStudioコマンドプロンプト(通常:gacutilがパスに含まれていることを確認してください)」を開き、次のコマンドを実行します:cd "C:\ Program Files \ NUnit 2.4.8 \ bin"

  • NUnitエントリをGACから登録解除します。これを行うには、GACに登録されているNUnitエントリを見つけます。

    gacutil /l | find /i "nunit" > temp.bat && notepad temp.bat
    
  • nunit.coreおよびnunit.framework行の前に「gacutil/uf」を付けます。つまり、次のようになります。

    gacutil /uf nunit.core,Version=2.4.2.0,Culture=neutral,PublicKeyToken=96d09a1eb7f44a77
    
    gacutil /uf  nunit.framework,Version=2.4.2.0,Culture=neutral,PublicKeyToken=96d09a1eb7f44a77
    
  • .batファイルを実行してそれらを削除します。 temp.bat

  • 必要なNUnitDLLファイルを登録します。

    gacutil /i nunit.core.dll
    
    gacutil /i nunit.framework.dll
    
于 2009-03-27T01:20:58.603 に答える
10

NUnit-2.4.8-net-2.0.msi を使用してインストールすると、NUnit アセンブリがGACに追加されます。

Visual Studio 2005 コマンド プロンプトから gacutil を実行して、手動で再インストールすることもできます。

于 2008-10-07T01:05:05.947 に答える
2

現在の NUnit インストール (2.5.10) は GAC に自動的に登録されないことに注意してください。

GAC を使用する必要がある場合は、通常はgacutil /i <nunitframeworkpath>where is で登録します。nunitframeworkpath%Program Files%\NUnit\net-2.0\framework\nunit-framework

于 2011-10-18T19:34:06.370 に答える
1

今日、新しいテスト アセンブリを既存の NUnit テスト プロジェクトに追加しようとしたときに、このエラー メッセージが表示されました。私のテスト プロジェクトには、同一の nunit.framework.dll アセンブリへの複数のパス参照があったようです。

NUnit プロジェクトに複数のテスト アセンブリがある場合は、テスト プロジェクトで nunit.framework 参照の Path プロパティを確認することをお勧めします。それらを一致させると、エラーメッセージは消えました。

于 2010-08-19T17:05:55.803 に答える