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

WinUI 3应用运行失败:InitializeComponent触发System.ArgumentException

WinUI 3 项目启动崩溃:ArgumentException(Not implemented)问题解决

问题概况

  • 异常类型:System.ArgumentException(WinRT信息:Not implemented)
  • 崩溃时机:执行this.InitializeComponent();时触发未处理异常,程序以代码0xffffffff退出
  • 调用堆栈指向App1.dll!App1.App.InitializeComponent.AnonymousMethod__4_2的未处理异常回调

问题根源

你在App类的静态字段m_window中直接实例化MainWindow,静态字段的初始化逻辑会在App构造函数执行前触发。此时WinUI的Application初始化流程尚未完成,窗口创建依赖的底层运行环境还未就绪,因此触发了“未实现”的WinRT底层异常。

修复方案

将MainWindow的实例化逻辑移到Application的OnLaunched方法中——这是WinUI 3规定的应用启动后初始化窗口的标准时机,此时应用运行环境已完全准备完毕。

修复后的完整代码:

using Microsoft.UI.Xaml;
using Microsoft.UI.Xaml.Controls;

namespace App1 {
    public sealed partial class App : Application {
        public static MainWindow m_window;

        public App() {
            this.InitializeComponent();
        }

        protected override void OnLaunched(LaunchActivatedEventArgs args) {
            m_window = new MainWindow();
            m_window.Activate();
        }
    }
}

额外注意事项

  • 确保MainWindow的XAML文件及后台代码没有其他初始化异常(比如引用了未正确部署的资源、自定义控件未正确注册等)
  • 所有窗口相关的初始化操作都应放在OnLaunched或后续的应用生命周期事件中,避免在静态字段、构造函数早期阶段执行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 01:29:57