我在 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:
编辑
我有 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”时,它工作... 所以我要说的是:
所以:
编辑 3
在远程连接到我的构建代理的服务器并从 VS2017 运行测试后,我将主机服务器的 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"?
build - 如何在 MultiJob 插件中传递内部版本号?