Visual Studio 2022调试模式自动切回Android问题求助
问题概述
开发WinUI界面时,Visual Studio 2022调试模式会自动从Windows设备切换回Android模拟器。手动切换至Windows设备后,仅1-2秒便切回Android。该问题在添加摄像头条码读取功能后出现,此前功能运行正常。
环境信息
Microsoft Visual Studio Community 2022
Version 17.5.4
VisualStudio.17.Release/17.5.4+33530.505
Microsoft .NET Framework Version 4.8.09032已安装组件包括:Visual C++ 2022、Xamarin 17.5.0.173、Xamarin.Android SDK 13.2.0.0、WinUI相关组件等(完整组件列表见原提问)
解决步骤
修正项目启动配置
右键WinUI项目 → 属性 → 调试,确认启动目标设置为Windows设备(如本地机器或指定Windows模拟器),取消勾选「自动选择最佳设备」选项。同时检查解决方案的启动项目是否为WinUI项目,而非Android项目。清理重建项目
执行生成→清理解决方案,随后生成→重建解决方案。手动删除项目目录下的bin和obj文件夹,清除编译缓存。隔离平台摄像头代码
检查摄像头条码读取逻辑,确保使用条件编译指令隔离WinUI与Android平台代码,避免跨平台逻辑触发设备切换:#if WINDOWS // WinUI平台摄像头初始化与条码读取逻辑 #elif ANDROID // Android平台摄像头初始化与条码读取逻辑 #endif重置VS设备缓存
关闭Visual Studio,删除路径%LOCALAPPDATA%\Microsoft\VisualStudio\17.0_<你的VS实例ID>\DeviceCache下的所有文件,重启VS后重新选择调试设备。修复/更新Visual Studio
打开VS安装器,优先升级至最新版本;若无效,选择「修改」→「修复」选项,修复WinUI、Xamarin等可能损坏的组件。排查Xamarin组件冲突
临时禁用Xamarin相关扩展(扩展→管理扩展中找到Xamarin系列扩展并禁用),重启VS后测试是否仍出现设备自动切换,确认是否为跨平台组件冲突导致。
内容的提问来源于stack exchange,提问作者noobInTraining

