2

NUnitを使用してC#コードをテストしようとしましたが、すでにC ++コードに接続されています(NUnitがないと、アプリケーションは完全に機能します)。

私のテストでは、AppDomain.CurrentDomain.ExecuteAssembly(..)を介してメイン関数を実行しますが、C#コードがC ++と「通信」しようとすると、例外がスローされ、テストがクラッシュします。例外はSystem.Reflection.TargetInvocationExceptionです。誰かがそれが発生する理由を知っていて、それが非常に役立つと考えている場合...ありがとう、Naama

4

2 に答える 2

1

クラスのコンストラクターで、C++ コードで例外がスローされている可能性があります。例外を適切に処理していること、および例外がスローされないようにコンストラクターに適切な情報を提供していることを確認してください。

于 2009-03-08T13:26:29.487 に答える
1

あなたの疑いは正しいです。コンストラクターの実行中に、c# のコンストラクターはオブジェクトを作成しようとしています (既にラップされており、アプリケーションが正常に実行されている場合は完全に機能します)。オブジェクト例外がスローされます。ただし、アプリケーションは非常に複雑ですが、明確にする必要がある場合は、実際のアプリケーションを象徴するデモ アプリケーションを作成します。

于 2009-03-08T10:17:18.007 に答える