30

正常にコンパイルされる C# .NET クラス ライブラリMyClassLibraryがあります。そのための単体テスト プロジェクトを作成しようとしています (Visual Studio 2010 で Visual Studio Unit Testing Framework を使用)。クラス ライブラリには大きなクラスが含まれていますが、最も単純なクラスに対して最も単純なテストを実行するたびに、次の例外が発生します。

テスト メソッド MyClassLibraryTest.MyClassLibraryTests.MySimpleClassTest が例外をスローしました。

私が扱っているプロジェクトはすべて同じソリューションであり、すべて .NET 4.0 用にコンパイルされています。これはすべて、Windows 7 64 ビット マシン上にあります。

ここに奇妙な部分があります。テストを「実行」すると、上記のエラーが発生します。しかし、テストを「デバッグ」すると、問題なく実行されます。なんで?

4

13 に答える 13

39

私はちょうど1時間これに頭をぶつけました。問題は、Something.dllという名前のクラスライブラリプロジェクトを使用していたSomething.exeという名前のコマンドラインプロジェクトがあることでした。

于 2013-02-21T18:01:43.253 に答える
29

私にも起こりました。私の場合、テストされたプロジェクトと単体テスト プロジェクトの名前が同じだったため、問題が発生しました。これもあなたのケースである場合は、プロジェクトのいずれかの名前を変更し、出力ファイル名の名前を変更して修正してください。

于 2013-03-09T12:27:55.133 に答える
11

MyClassLibrary アセンブリは、構成マネージャーで x86 モードに設定されました。これをx64に変更すると修正されました。Visual Studio がこれを検出し、あまり目立たないエラーとして報告してくれることを心から願っています。

于 2011-04-20T21:10:30.110 に答える
4

私にも起こりました。x64、リリース、および x86 モードのビルドに関連しています。私の場合、ビン内のフォルダー (参照アセンブリと単体テストの debug/release/x86) を削除し、単体テストを再実行しました。VS2010 は出力ウィンドウでエラーを報告しました。それは私のためにそれを解決しました。

于 2011-10-11T06:36:54.873 に答える
2

今日これを乗り越えましたが、修正は残しておきます。

仕様: VS 2013 / .Net 4.0

解決策: [メニュー] > [テスト] > [テスト設定] > [デフォルト プロセッサ アーキテクチャ] > [X64] に移動します。

ここに画像の説明を入力

于 2016-07-14T10:49:55.087 に答える
1

ここにも同じメッセージが表示されますが、テストをデバッグすることもできませんでした。

私の場合、テストしていた DLL は GAC に展開されていました (BizTalk の要件)。新しいクラスを作成してテストしていましたが、テスト対象のクラスを追加してから DLL を再度 GAC していませんでした。

于 2016-11-18T17:26:51.547 に答える
1

これが同じエラーで他の人を助ける場合(リリースとデバッグに関する質問に直接答えないことに気づきました); 既存の名前空間と競合する名前空間を持つレガシー プロジェクトをマージしたため、名前を変更しました。そのプロジェクトからフォームを作成しようとすると、このエラーが発生しました。

プラットフォーム ターゲットが同じであることを確認し、.\bin\ ディレクトリを削除してクリーンなリビルドを行い、マージされたプロジェクトへの参照を削除して再度追加しましたが、それでも同じエラーが発生しました。

最終的に (!) プロジェクトのプロパティでアセンブリ名を確認し (プロジェクトを右クリックして [プロパティ] を選択し、[アプリケーション] タブを選択)、既定の名前空間に一致するように変更しました。

于 2017-03-09T14:16:27.647 に答える
0

Encountered the same issue. Just in case if it helps anyone - I managed to get it to work by downgrading the nuget package NUnit3TestAdapter from version 3.13.0 to 3.11.2.

You can find more information on this - https://github.com/nunit/nunit-console/issues/424

于 2019-04-03T06:58:56.580 に答える