You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 10:16:37