tfs - 调用执行程序时发生异常 'executor://xunit/VsTestRunner2/

我在 VSTS 构建上运行单元测试时遇到了一个问题。 当我在本地 Visual Studio 上启动所有测试时,一切正常。完全没有错误。完美的。 但是,当我通过 VSTS 构建上的测试任务启动测试时,出现此错误:

An exception occurred while invoking executor 'executor://xunit/VsTestRunner2/uap': Could not load file or assembly 'System.IO.FileSystem, Version=4.0.1.0, Culture=neutral, PublicKeyToken=***********' or one of its dependencies. The system cannot find the file specified.

我的测试项目是这样设置的:

  • 2.4.0 版上的“xunit.runner.visualstudio”,“targetFramework”设置为“net462”(在 packages.config 中设置)

  • .NET 框架 4.6.2

在我拥有的构建服务器上:

  • Visual Studio 2017,v15.7.5

  • Visual Studio 2015,v14.0

我的线索不多了……我肯定错过了什么…… 感谢您的帮助

PS:

  • 在 VSTS 版本上正确通过了所有测试
  • 在我的构建任务的设置中,当我将“测试平台版本”设置为“Visual Studio 2015”时,它可以工作。但是当我选择“Visual Studio 2017”或“最新”时,我遇到了同样的错误......

编辑

我有 Nuget 包“FluentAssertions”v5.4.1 和“System.ValueTuple”v4.5.0。我已经尝试降级其中一个和两个。它失败了。但我看到“FluentAssertions”依赖于“System.ValueTuple”

编辑 2

正如@PatrickLu-MSFT 所说,将 vs 测试任务版本传递给 1 解决了这个问题。 但是当我仔细观察时,可用的测试平台版本是 2015 和 2013:

当我选择 VS 测试任务版本 2 时,我有以下选择:

我想继续使用 vs 测试任务版本 2(以防 future 更新,我不想被卡住......)。我看到的是,当我将测试平台版本设置为“最新”或“Visual Studio 2017”时,它不起作用。当我选择“Visual Studio 2015”时,它工作... 所以我要说的是:

  • 将 vs 测试任务版本设置为 version 1 使其工作(可能是因为最新的测试平台版本是“Visual Studio 2015”...?)
  • 将 vs 测试任务版本设置为版本 2 测试平台版本设置为“Visual Studio 2015”使其工作

所以:

  • 设置为 版本 1 的 VS 测试任务版本似乎与设置为 版本 2 并设置了“测试平台版本”的 VS 测试任务版本相同到“Visual Studio 2015”。
  • 如何使用设置为 version 2 的 VS 测试任务版本和设置为“最新”的“测试平台版本”?

编辑 3

在远程连接到我的构建代理的服务器并从 VS2017 运行测试后,我将主机服务器的 Visual Studio 2017 的输出与我的本地 Visual Studio 2017 的输出进行比较:

  • 本地 Visual Studio 2017:

  • 远程 Visual Studio 2017:

主机上的“xUnit.net VSTest Adapter v2.4.0 (32-bit Universal Windows)”是否存在一些问题?

最佳答案

我遇到了同样的问题并通过将“自定义测试适配器的路径”更改为通过将其设置为“Source\packages\xunit.runner.visualstudio.2.4.0\build_common”来专门指向正确的测试适配器来解决它. (您应该修改路径以说明包文件夹在您的存储库中的位置。)

这显然是因为默认情况下 VSTS 会尝试提供帮助并扫描整个工作目录结构以查找测试适配器并加载 所有 它们,但是 xUnit Visual Studio 测试适配器 Nuget 包会安装测试适配器.Net Core 和 UWP 也是如此,所以 VSTS 很高兴地加载它们并且它们爆炸了。

关于tfs - 调用执行程序时发生异常 'executor://xunit/VsTestRunner2/uap' : Could not load file or assembly 'System. IO.FileSystem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51503531/

相关文章:

c++ - qt 构建系统中的 jom 是什么?如何从命令行调用 jom 来构建 qt 项目?

r - 在 RStudio 中构建包时如何解决 Rd 警告 "missing file link"?

visual-studio-2008 - 仅构建启动项目的键盘快捷键?

python - 使用 PyInstaller 2.1 和 MEIPASS 错误捆绑数据文件 --o

c# - TFS 构建失败。对源代码管理中的文件的未解决引用

vim - 在vim中设置一个 "build directory"?

c++ - 列出使用的库的链接器选项

build - 如何在 MultiJob 插件中传递内部版本号?

node.js - 构建工具 : Coffeescript/Node project with mu

plugins - Jenkins 插件基于控制台输出失败构建