VS 2022 MAUI Android中忽略异常功能失效的解决求助
解决.NET MAUI Android调试时特定异常误中断的方案
我之前调试MAUI Android项目时也碰到过这个棘手的问题——明明在VS的Exception Settings里取消了System.IO.FileNotFoundException的勾选,调试器还是会被MAUI库抛出的这个无害异常打断,又不想一刀切忽略所有CLR异常。下面几个亲测有效的方法可以帮你精准解决:
方法1:给异常添加过滤条件
VS的Exception Settings其实支持更精细的规则,你可以针对这个异常设置只忽略MAUI内部抛出的实例:
- 按下
Ctrl+Alt+E打开Exception Settings窗口 - 展开Common Language Runtime Exceptions,找到
System.IO.FileNotFoundException,右键选择「Edit Conditions」 - 在条件编辑窗口中,添加一个过滤规则:
!StackTrace.Contains("Microsoft.Maui") - 保存后,调试器就只会在你的业务代码抛出这个异常时中断,自动跳过MAUI库内部产生的该异常
方法2:修改项目调试配置文件
直接在MAUI项目的.csproj里添加平台专属的调试配置,让调试器精准忽略目标异常:
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|net8.0-android|AnyCPU'"> <DebuggerIgnoreExceptions>System.IO.FileNotFoundException</DebuggerIgnoreExceptions> </PropertyGroup>
记得把net8.0-android替换成你当前使用的MAUI版本(比如net7.0-android),这个配置只会在Android平台的Debug模式下生效,不会影响其他平台或Release版本。
方法3:用代码标记非用户代码(谨慎使用)
如果前两种方法都没生效,你可以把MAUI的启动代码标记为非用户代码,让调试器跳过这段逻辑里的异常:
using System.Diagnostics; [DebuggerNonUserCode] public static void Main(string[] args) { var builder = MauiApp.CreateBuilder(); builder .UseMauiApp<App>() // 其他配置代码 .ConfigureFonts(fonts => { fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular"); }); builder.Build().Run(); }
⚠️ 注意:这个方法会让调试器完全跳过标记的代码段,如果你需要调试启动阶段的自定义逻辑,可能会受影响,所以优先推荐前两种方案。
内容的提问来源于stack exchange,提问作者Miroslav
相关产品推荐
相关产品推荐

