我尝试在C#测试中使用xUnit,但遇到了一个奇怪的错误。
我可以在VisualStudio(2013)中运行单元测试,但当我尝试使用GUI或控制台运行相同的测试时,会出现以下错误:
xUnit.net console test runner (32-bit .NET 2.0.50727.5472)
Copyright (C) 2013 Outercurve Foundation.
Could not load file or assembly '[...]' or one of its dependencies.
This assembly is built by a runtime newer than the currently loaded
runtime and cannot be loaded.
我的项目使用的是 .net 4.0 版本,而 xUnit 使用的是 2.0 版本。我在这里和这里找到了一些帖子,说可以编辑配置文件来解决问题,但这对我没有起作用。这些帖子都有几年的历史了,而且它们甚至彼此不一致。一个说应该是“supportedRuntime”,而另一个是“requiredRuntime”。然而,两个选项都对我无效。
我也考虑下载源代码并使用 4.0 编译,但根据网站上的说明,需要使用 VS 2010。
在 IDE 中运行测试非常好,但我还需要使用控制台运行程序才能在构建机上执行自动化测试。有方法可以使它正常工作吗?xUnit 还在维护吗?
我还发现另一个帖子中说该问题在 2010 年已得到解决。也许这是回归失败?