【发布时间】:2019-01-01 08:46:56
【问题描述】:
我在 VSTS 构建上运行单元测试时遇到了一个问题。 当我在本地 Visual Studio 上启动所有测试时,一切正常。完全没有错误。完美的。 但是,当我通过 VSTS 构建上的测试任务启动测试时,出现此错误:
调用执行器时发生异常 'executor://xunit/VsTestRunner2/uap': 无法加载文件或程序集 'System.IO.FileSystem, Version=4.0.1.0, Culture=neutral, PublicKeyToken=***********' 或其依赖项之一。这 系统找不到指定的文件。
我的测试项目是这样设置的:
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(以防未来更新,我不想被卡住......)。我看到的是,当我将测试平台版本设置为“Latest”或“Visual Studio 2017”时,它不起作用。当我选择“Visual Studio 2015”时,它工作... 所以我要说的是:
- 将 vs 测试任务版本设置为 版本 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)”是否存在一些问题?
【问题讨论】:
-
你使用的是vs测试任务和版本2,可以选择左上角的版本吗?如果是这样,当您说一切正常时,您是否尝试过使用版本 1。本地环境是什么,你用的是VS2015还是VS2017,建议你本地环境和服务器端环境一样,这样可以缩小问题的范围。
-
我使用的是 vs 测试任务和版本 2。将其传递到版本 1 后,一切正常!谢谢。但是为什么要@PatrickLu-MSFT?
-
我更新了我的问题@PatrickLu-MSFT(见编辑 2)
-
当您在本地测试您使用的是哪个版本的 VS 时,这似乎适用于 VS2015 而不是 VS2017? “在我拥有的构建服务器上:Visual Studio 2017, v15.7.5/Visual Studio 2015, v14.0”您能否远程访问您的构建代理并直接通过 VS2017 运行构建测试,如果问题与您的环境相关,这将缩小范围.
-
当我在本地测试(在我的机器上)时,我有 Visual Studio 2017 v15.7.5 并且一切正常。我远程连接到我的构建代理的服务器并从 VS2017 运行测试,我从输出中得到了相同的结果:“[7/26/2018 11:24:21 AM Error] An exception occurred while invoking executor 'executor:/ /xunit/VsTestRunner2/uap':无法加载文件或程序集“System.IO.FileSystem,Version=4.0.1.0,Culture=neutral,PublicKeyToken=**********”或其依赖项之一。该系统找不到指定的文件。”当我在构建项目时,没有错误......我没有更多的踪迹。
标签: tfs build azure-devops xunit xunit.net