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

WPF应用app.xaml.cs代码未执行,依赖注入配置遇阻

解决WPF中App.xaml.cs代码未执行的问题

你的App.xaml.cs代码完全没触发,核心原因大概率是WPF没有正确关联到这个类,或者启动配置有误,按以下步骤排查:

  • 检查App.xaml的x:Class属性匹配
    打开App.xaml文件,确认根元素Application的x:Class属性值和app.xaml.cs中的命名空间+类名完全一致,也就是GTS.CMMS.Client.App。如果这里写错,WPF根本不会把XAML和你的代码后置文件绑定,自然不会执行任何代码。正确的App.xaml结构参考:

    <Application x:Class="GTS.CMMS.Client.App"
                 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
        <Application.Resources>
        </Application.Resources>
    </Application>
    
  • 确认项目启动对象设置
    右键项目 → 属性 → 应用程序选项卡 → 启动对象,选择GTS.CMMS.Client.App作为启动对象。如果这里设成了其他类或者"未设置",WPF会跳过你的App类,直接用默认逻辑启动。

  • 修复文件关联与生成操作
    在解决方案资源管理器里,确保App.xaml.cs是App.xaml的嵌套子项。如果没有嵌套:

    1. 右键App.xaml → 属性,把"生成操作"改成ApplicationDefinition
    2. 右键App.xaml.cs → 属性,把"生成操作"改成Compile
  • 排查重复类定义
    检查项目里有没有其他同名的App类(比如其他命名空间下),类名冲突会导致WPF加载错误的类,你的代码自然不会运行。

另外补充两个小细节:

  1. 你的OnStartup和OnExit用了async void,虽然不是当前问题的原因,但这种写法不推荐,后续可以改成异步安全的实现
  2. 在OnStartup里记得调用base.OnStartup(e),避免遗漏WPF的默认启动逻辑,同时初始化完DI后要手动创建并显示主窗口

内容的提问来源于stack exchange,提问作者Álvaro García

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 18:40:33