Windows 7 32ビット、VS 2010、.NET 4 DLL、NUnit(2.5.5)を使用して、アプリケーションを単体テストします。現在、次のエラーが発生しています。たくさんの投稿を見て、次のことを試しました。
しかし、実行中にNUnitにブレークポイントをヒットさせることはできません。
Nunit.exeをポイントし、テスト用の.NET 4 DLLをロードするようにNUNitテストプロジェクトを設定しましたが、実行しても「シンボルがロードされていません」というブレークポイントが見つかりません。デバッグ>ウィンドウ>モジュールを試しましたが、実行時にユニットテストプロジェクトが表示されません。
Nunitエージェントを使用するためにこれを見つけました: http://groups.google.com/group/nunit-discuss/browse_thread/thread/5680d7def5b6982f
しかし、nunitエージェントを使用するとエラーが発生します。 nunit-agent-x86.exeを使用していましたが、system.formatexceptionが発生し、クラッシュします...
誰か助けてもらえますか?
ありがとう。
解決策は次のとおりです。NUnitをスタンドアロンで起動し、VS 2010で、デバッグ>プロセスにアタッチし、nunitプロセスではなくnunit-agent.exeプロセスにアタッチします。 Nunitプロセスはまだ私のためにそれをしませんでした。
別の同様の質問があります ここでStack Overflowに 、私が投稿した場所 私の答え 私のために働いたもので。ブレークポイントを設定し、[デバッグ]-> [新しいインスタンスの開始]を使用して、Visual Studio 2010から直接NUnitを起動できます(これが目標だと思います)。
プロジェクト->プロパティ->デバッグで外部プログラムとしてnunit.exeを設定し、以下を追加しました。
<startup>
<requiredRuntime version="4.0.30319" />
</startup>
nUnitインストールディレクトリのnunit実行可能ファイルの横にあるnunit.exe.configファイルに移動します。
Nunit-x86.exe.configに次のセクションを追加すると、うまくいきました。
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/>
</startup>
'sku'セクションは、.NET4のクライアントプロファイルで実行する場合にのみ必要です。以前の回答は、廃止された「requiredRuntime」を使用して示していたことに注意してください。
Webサイトプロジェクトで「ブレークポイントに到達しません...シンボルがロードされません...」というメッセージが表示されていました。私のウェブサイトにビルドエラーがあったことがわかりました(参照されたdllの1つが何らかの理由で失われました)。再構築の前に、VS2010で[表示] => [エラーリスト]を選択するまで、再構築で問題が発生しませんでした。 bin dirにないdllを置き換え、参照を更新すると、問題が解決しました。
上記のすべてが役に立たなかった場合は、Visual StudioでNUnitプロジェクトのプロパティを開き、[ビルド]タブを開き、[詳細]ボタンをクリックして、[デバッグ情報]が[フル]に設定されていることを確認します。
ドットネットのバージョンがnunit自体で使用されているものと異なる場合、nunitはnunitエージェントによってタスクを実行するため、nunit.exeの代わりにnunit-agent.exeプロセスをアタッチします。以下のリンクを参照してください。
この問題は、Visual Studio 2012 Community Editionで、.NET Framework4.5を使用しているときに発生しました。 nunit.exe.configは次のようになります(最も評価の高い回答からの解決策):
<configuration>
<!--
The GUI only runs under .NET 2.0 or higher. The
useLegacyV2RuntimeActivationPolicy setting only
applies under .NET 4.0 and permits use of mixed
mode assemblies, which would otherwise not load
correctly.
-->
<startup useLegacyV2RuntimeActivationPolicy="true">
<!-- Comment out the next line to force use of .NET 4.0 -->
<requiredRuntime version="4.0.30319" />
</startup>
NUnitを実行してからDLLをロードしていますか?代わりに、プロジェクトのプロパティである[デバッグ]タブを開き、開始アクションを[外部プログラムの開始]に切り替え、NUnit exeをポイントし、dll名を[コマンドライン引数]に入力してみてください。次に、ライブラリプロジェクトを右クリックして、[デバッグ]-> [新しいインスタンスの開始]を選択して開始します。
NUnitGUIを開く必要がありました
[ツール]-> [設定]-> [IDEサポート] [VisualStudioをクリック]
次に、nunit-x86.exe.config(NOT nunit-exe.config、NOT nunit.agent.exe.config、NOT nunit- console.exe.config)、
必要だった
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0.30319" />
</startup>
下 <configuration>