Xamarin.UITest test-cloud.exe 上传错误

重要

Visual Studio App Center 计划于 2025 年 3 月 31 日停用。 虽然可以继续使用 Visual Studio App Center,直到它完全停用,但你可以考虑迁移到几个建议的替代方法。

详细了解支持时间线和替代方案。

将 Xamarin.UITest 测试运行提交到 App Center Test 时, appcenter 该命令使用 test-cloud.exe Xamarin.UITest NuGet 包中的 。 appcenter如果命令找不到该可执行文件,或者找到的版本与生成测试所用的版本不同,则不会上传测试运行,并且会收到错误。

命令使用启发式查找 test-cloud.exe。 某些项目或 NuGet 设置可能会导致 appcenter 找不到它并报告 Cannot find test-cloud.exe 错误,或者找到错误的项目或 NuGet 设置并通知 UITest.dll and the tools are incompatible

解决方案

重新生成

重新生成始终是故障排除的良好开端。

如果在更改 Xamarin.UITest 包版本后尚未重新生成 UITest 项目,请清理、重新生成,然后重试命令 appcenter test run uitest ...

手动指定 UITest 工具目录

注意

用于上传的 Xamarin.UITest 版本 必须与 用于生成测试的版本完全匹配。

如果这不能解决问题,解决方案是将 选项添加到 --uitest-tools-dir 命令,并指向 tools 具有正确 test-cloud.exe的目录。

但是 test-cloud.exe 在哪里呢?

test-cloud.exe 位于 Xamarin.UITest 包中。 若要查找该包,请在 Visual Studio 项目资源管理器中检查 Xamarin.UITest 的属性>路径设置。

Visual Studio for Mac

来自包>的引用 > Xamarin.UITest (ctrl+单击或右键单击) > 属性>路径

Visual Studio

>解决方案资源管理器引用 > Xamarin.UITest (右键单击) > 属性>路径

此路径将指向 Xamarin.UITest.dll ,看起来类似于 Mac) 上的 (:

/Users/user/.../PROJECT/packages/Xamarin.UITest.3.0.7/lib/net45/Xamarin.UITest.dll

--uitest-tools-dir 相应 tools 文件夹为:

 /Users/user/.../PROJECT/packages/Xamarin.UITest.3.0.7/tools/

确保此文件夹存在并且具有 test-cloud.exe

将此添加到测试运行命令 (无换行符)

--uitest-tools-dir “/Users/user/.../PROJECT/packages/Xamarin.UITest.3.0.7/tools/”

可以改用基于运行 appcenter 命令的位置的相对路径。

远程生成服务

如果包安装在生成计算机上,但不知道在哪里并且无法使用 Visual Studio 来检查位置,则可以使用暴力破解方法来查找test-cloud.exe计算机上的文件, (可能需要更改起始文件夹或驱动器以搜索) :

dir d:\test-cloud.exe/s (Windows) find / -name test-cloud.exe (Mac)

如果在项目生成之前未安装 NuGet 包,则可以在生成期间执行暴力破解方法,以查找 Xamarin.UITest 包。

如果其他所有方法都失败,可以从 NuGet 手动下载 Xamarin.UITest 包,将其解压缩,并将 test-cloud.exe 添加到已知位置的项目。