单元测试抛出异常:由较新的运行时构建的程序集

时间:2015-03-23 11:28:43

标签: c# visual-studio-2010 unit-testing

我的解决方案无法使用可怕的"无法加载文件或程序集xxxx或其中一个依赖项",因此经过大量搜索后,我最终删除了所有引用并添加它们一个接一个地回来。

现在解决方案已构建,但我的单元测试正在抛出异常: System.BadImageFormatException:无法加载文件或程序集' WorkflowBuilder_Accessor,Version = 0.0.0.0,Culture = neutral,PublicKeyToken = null'或其中一个依赖项。此程序集由比当前加载的运行时更新的运行时构建,无法加载。

我已删除了访问者并重新创建了它,重新构建了解决方案并再次添加了引用,但测试仍未运行。我甚至不确定哪个组件给了我这个问题,但是我注意到有关Visual Studio UnitTestFramework.dll的一些奇怪的事情 - 当我在Windows资源管理器中查看dll时,它是版本10.0,但是在它添加之后显示为10.1。这是问题吗?

Before adding reference - version 10.0 之前:版本10.0

After adding - version 10.1 之后:版本10.1

我应该补充一点,我已经在我的所有项目上设置了x86的目标,这是我见过的建议解决方案之一。

1 个答案:

答案 0 :(得分:0)

所以,我会回答我自己的问题:

事实证明,Visual Studio 2010 defaults to .NET 4.0,因此与studio捆绑在一起的单元测试dll适用于该版本。

单元测试目标框架可以是比项目目标框架更新的版本,所以我只是将我的测试项目设置为目标.NET框架4.0,现在一切正常。