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 添加到已知位置的项目。