我正在开发一个基于Selenium webdriver的C#NUnit项目,在那里我有几个测试,它们使用Microsoft.Expression.Encoder.dll截取每个测试场景的截图并录制视频。 我打算使用下面的代码示例从命令行运行这些测试。
nunit-console /run:MyProject.Tests.SampleTest MyProject.dll
由于我的项目是在.NET Framework 4.0上构建的,所以我使用下面的设置行更新了nunit的配置文件以使用框架4.0。
<supportedRuntime version="v4.0.30319" />
我的问题是,当我尝试运行测试时,我得到以下错误。我尝试在x86和x64模式下构建项目,但问题仍然存在。
错误和失败: 1)测试错误:MyProject.Tests.SampleTest System.BadImageFormatException:无法加载文件或程序集“Microsoft.Expression.Encoder,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35”或其依赖项之一。试图加载格式不正确的程序。
我还尝试运行一个简单的测试,从命令行运行良好。
答案 0 :(得分:0)
我找到了解决方案。由于我在我的项目中使用Microsoft.Expression.Encoder DLL来进行视频记录测试,因此将此DLL编译为x86。因此,我可以将我的selenium C#项目保持在任何CPU模式,并使用以下命令执行测试。
nunit-console-x86 /run:MyProject.Tests.SampleTest MyProject.dll
Nunit文件夹有两个“nunit-console”exes ( nunit-console.exe 和 nunit-console-x86.exe ) < / p>