3

WindowsPhone7.5クラスライブラリをWPユニットテストフレームワークにロードするのに深刻な問題が発生しています。アセンブリでGetExportedTypes()を内部的に呼び出し、詳細を含まないReflectionTypeLoadExceptionをスローします。そのメッセージは「ReflectionTypeLoadException」であり、そのLoaderExceptionsはnullです(「式を評価できませんでした」)。アセンブリはサードパーティのアセンブリを使用していません。別のWP7アプリを作成して同じことをすると、同じ結果が得られます。私は非常に経験豊富なReflectionユーザーですが、詳細なエラーがないため、調査は完全に停止しました。完全を期すために、これはWindowsPhoneバージョンのFluentAssertionsです。

4

2 に答える 2

1

Types例外の配列はどうですか? 値が含まれていますか? もしそうなら、sも含まれていますnullか?その場合、ロードに失敗したクラスを見つけることができます。アセンブリ内のすべてのクラスがわかり、どのクラスが正しくロードされたかがわかります。欠落しているものは、ロードできなかったクラスです。たぶん、この情報はいくつかの手がかりを与えるでしょう。

この回答は、ドキュメント、特に次のビットに基づいています。

LoaderExceptions物件備考より:

LoaderExceptions プロパティは、Types 配列に対応する Exception 型の配列を取得します。この配列には、リフレクションがクラスをロードできない場合は常に null 値が含まれます。

そして、Typesプロパティのドキュメントから:

モジュールで定義され、読み込まれたクラスを含む Type 型の配列。この配列には、いくつかの null 値を含めることができます。

于 2012-08-22T07:11:01.210 に答える
1

見つけました!@GeertvanHorrikは、彼が最近書いたブログ投稿を教えてくれました。ランタイム (!) がサポートしていない共変インターフェイス ( outパラメータを使用) を使用していました。なぜコンパイラがそれから私を保護しないのかは、私にとって大きな謎です (そして大きな失望です)

于 2012-08-25T06:35:23.320 に答える