私はMSTestでSilverlight 4プロジェクトの単体テストを開発しようとしていましたが、実行には問題があります。私のコードでは、いくつかの式(System.Linq.Expressions)を使用しており、通常の状況下でプログラムを実行すると正しく動作しています。しかし、ユニットテスト中にこのコードのいずれかが見つかった場合は、タイプ 'AppDomain'に 'MissingMethodException'が表示されます。Silverlight 4ユニットテスト。 mscorlibの間違ったバージョンがロードされる
「AppDomain」がmscorlib.dllで定義されているという事実を追跡しました。プログラムを正常に実行すると、mscorlib(Silverlight 4)のバージョン2.0.5.0が読み込まれ、ユニットテストバージョン2.0.0.0が読み込まれます。私のテストと通常のプロジェクトの両方の参照はすべて正しいので、MSTestが間違ったバージョンをロードしている理由を実際に理解できません。
MSTestまたはVSTestHostに実際に適切なバージョンのmscorlibをロードする方法はありますか? (2.0.5.0)
hmmm ...これらのオプションは妥当ではないようです。なぜこれはとても難しいのですか? –
あなたに同意しないと申し訳ありませんが、あなたが持っている選択肢です。 .NETとSilverlightは2つの異なるランタイムであるため、非常に似ていて、モジュール(アセンブリ)に同じバイナリファイル形式を使用することもあります。 – SoftMemes
それはあなたのせいではありません。これを実現させるための方法があるようです。手動でmscorlib(2.0.5.0)を手動でテストのアプリケーションドメインに読み込むことはできますが、それをどのようにしてjiveにするかはわかりません。 –