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

C#/.NET MAUI/Shiny Framework突发需手动设置MainPage的异常问题

问题解决方案

针对NotImplementedException(要求设置App.MainPage或重写CreateWindow)的解决步骤

  • 清理编译缓存并重启VS
    1. 右键解决方案,选择「清理解决方案」
    2. 手动删除项目根目录下的bin和obj文件夹
    3. 关闭Visual Studio,重新打开后再重新生成项目
      (注:VS的编译缓存有时会残留错误状态,回滚代码后缓存未更新是这类问题的常见原因)
  • 检查App.xaml的构建属性
    右键App.xaml文件,打开「属性」面板,确认构建动作设置为ApplicationDefinition,如果被误改为Page或其他值,MAUI无法正确识别应用入口类,会触发该异常

针对无法解析INavigationService的解决步骤

  • 确保Shiny导航服务已注册
    在MauiProgram.cs中,添加Shiny导航服务的注册代码:
    builder.Services.AddShinyNavigation();
    
    同时要确保调用Shiny的初始化方法:
    builder.UseShiny();
    
  • 改用Shiny导航初始化页面,而非直接设置MainPage
    在App.xaml.cs的构造函数中注入INavigationService,通过导航方式打开起始页面,示例代码:
    public App(INavigationService navService)
    {
        InitializeComponent();
        _ = navService.NavigateToAsync<YourStartupPage>();
    }
    
  • 注册目标页面到DI容器
    如果你的起始页面需要依赖注入,必须在MauiProgram.cs中注册该页面:
    builder.Services.AddTransient<YourStartupPage>();
    
    Shiny的导航服务依赖DI容器解析页面实例,未注册页面会导致服务解析失败

内容的提问来源于stack exchange,提问作者ElSploochy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 01:37:22