5
System.BadImageFormatException: Could not load file or assembly 'x_Accessor, 
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. 
This assembly is built by a runtime newer than the currently loaded runtime and 
cannot be loaded.

この病気の治療法を見つけるのに苦労しています...

ドット ネット テスト プロジェクトの単体テストを作成しました。デフォルトの単体テスト フレームワークを使用します。

自動化されたツールは、プライベート メソッドのテストに使用されるアクセサを作成しました。

[私は理論を知っています。private メソッドは呼び出し元を通じてテストする必要がありますが、それは目的、内容、コンテキストなどに依存します...したがって、可能であればテストします。]

過去にいくつかのプロジェクトでこれを行ったことがありますが、うまくいきました。

しかし、私が今テストしようとしているこれらの2つのプロジェクトでは、この問題に遭遇しています...

注: フレームワーク 3.5 を使用しています - これは問題になる可能性がありますか? -しかし、アクセサはそれを知っている必要があります!

アセンブリのランタイムを変更できる場所はどこにもありません...これはアクセサーだと思います。

はい、クリーンアップして再構築し、出力フォルダーを完全に消去して再構築し、アクセサーとプライベート メソッドを削除して再作成しました。

これを修正する方法を見つけるのを手伝ってください! ありがとうございました。

4

1 に答える 1

7

より高い .NET バージョン (より正確には CLR のバージョン) でコンパイルされたアセンブリを参照することはできません。したがって、あなたの例では、.NET 3.5 の単体テスト用のアセンブリがある場合、.NET 4.0 のアセンブリを参照することはできません。

この答えはあなたが探しているものだと思います:

プライベート アクセサーを使用すると、3.5 フレームワークをターゲットとする VS2010 SP1 単体テストが失敗する

于 2013-02-07T18:52:41.340 に答える