System.BadImageFormatException:无法加载文件或程序集'x_Accessor,...'此程序集由运行时更新程序构建

时间:2013-02-07 18:43:32

标签: c# .net unit-testing accessor

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.

我很难找到治愈这种疾病的方法......

我为点网测试项目创建了单元测试。使用默认的单元测试框架。

自动化工具创建了一个访问者 - 用于测试私有方法

[我知道理论,私人方法应该通过他们的来电者进行测试 - 但是,这取决于他们的目的,内容,背景等......所以如果可以的话,我会测试它们。]

我过去曾在几个项目中做过这个,并且工作正常。

但是在我试图测试的这两个项目中,我遇到了这个问题......

注意:我使用的是Framework 3.5 - 这可能是一个问题? - 但访问者应该知道!

我完全看不到在哪里可以修改程序集的运行时...我想这是访问器。

是的,我做了清理和重建,我完全删除了输出文件夹并重建,我确实删除了访问者和私有方法并重新创建它。

请帮我找到解决方法!谢谢。

1 个答案:

答案 0 :(得分:6)

您无法引用在更高版本的.NET版本中编译的程序集(或更准确的CLR版本)。因此,在您的示例中,如果您有一个用于.NET 3.5的单元测试的程序集,那么您就无法引用.NET 4.0的程序集。

我认为这个答案正是你要找的:

VS2010 SP1 unit tests targeting 3.5 framework fail if using private accessor