web-dev-qa-db-ja.com

VS 2010、NUNit、および「ブレークポイントは現在ヒットしません。このドキュメントにはシンボルがロードされていません」

Windows 7 32ビット、VS 2010、.NET 4 DLL、NUnit(2.5.5)を使用して、アプリケーションを単体テストします。現在、次のエラーが発生しています。たくさんの投稿を見て、次のことを試しました。

  1. マシンを再起動します
  2. vSを再起動します
  3. bin/objを削除してリロードします
  4. クリーン/リビルド

しかし、実行中に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が発生し、クラッシュします...

誰か助けてもらえますか?

ありがとう。

31
Brian Mains

解決策は次のとおりです。NUnitをスタンドアロンで起動し、VS 2010で、デバッグ>プロセスにアタッチし、nunitプロセスではなくnunit-agent.exeプロセスにアタッチします。 Nunitプロセスはまだ私のためにそれをしませんでした。

16
Brian Mains

別の同様の質問があります ここでStack Overflowに 、私が投稿した場所 私の答え 私のために働いたもので。ブレークポイントを設定し、[デバッグ]-> [新しいインスタンスの開始]を使用して、Visual Studio 2010から直接NUnitを起動できます(これが目標だと思います)。

プロジェクト->プロパティ->デバッグで外部プログラムとしてnunit.exeを設定し、以下を追加しました。

<startup>
    <requiredRuntime version="4.0.30319" />
</startup>

nUnitインストールディレクトリのnunit実行可能ファイルの横にあるnunit.exe.configファイルに移動します。

43
Dave Bacher

Nunit-x86.exe.configに次のセクションを追加すると、うまくいきました。

  <startup>
      <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/>
  </startup>

'sku'セクションは、.NET4のクライアントプロファイルで実行する場合にのみ必要です。以前の回答は、廃止された「requiredRuntime」を使用して示していたことに注意してください。

1
Daniel

Webサイトプロジェクトで「ブレークポイントに到達しません...シンボルがロードされません...」というメッセージが表示されていました。私のウェブサイトにビルドエラーがあったことがわかりました(参照されたdllの1つが何らかの理由で失われました)。再構築の前に、VS2010で[表示] => [エラーリスト]を選択するまで、再構築で問題が発生しませんでした。 bin dirにないdllを置き換え、参照を更新すると、問題が解決しました。

1
JimBayne

上記のすべてが役に立たなかった場合は、Visual StudioでNUnitプロジェクトのプロパティを開き、[ビルド]タブを開き、[詳細]ボタンをクリックして、[デバッグ情報]が[フル]に設定されていることを確認します。

1
user2195750

ドットネットのバージョンがnunit自体で使用されているものと異なる場合、nunitはnunitエージェントによってタスクを実行するため、nunit.exeの代わりにnunit-agent.exeプロセスをアタッチします。以下のリンクを参照してください。

http://www.nunit.org/index.php?p=nunit-agent&r=2.5.1

0
Manasvi Sareen

この問題は、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>
0
Alexei

NUnitを実行してからDLLをロードしていますか?代わりに、プロジェクトのプロパティである[デバッグ]タブを開き、開始アクションを[外部プログラムの開始]に切り替え、NUnit exeをポイントし、dll名を[コマンドライン引数]に入力してみてください。次に、ライブラリプロジェクトを右クリックして、[デバッグ]-> [新しいインスタンスの開始]を選択して開始します。

0
Mau

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>

0
astronought