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

WPF(.NET Framework4.8)添加Main方法触发CS0111编译错误求助

解决WPF项目中Main方法重复定义的CS0111错误

问题根源

WPF项目默认会将App.xaml的构建操作设为ApplicationDefinition,VS会自动生成包含Main方法的App.g.cs文件。当你手动在App.xaml.cs中添加自定义Main方法时,就会和自动生成的版本冲突,触发CS0111错误。

解决步骤

  • 修改App.xaml的构建属性
    右键项目中的App.xaml文件,选择“属性”,将“生成操作”从ApplicationDefinition改为Page。这会告诉VS不再自动生成应用入口的Main方法。

  • 完善自定义Main方法的逻辑
    在App.xaml.cs的自定义Main方法中,需要手动初始化应用并启动窗口,示例代码:

    [STAThread]
    public static void Main()
    {
        App app = new App();
        app.InitializeComponent();
        // 替换为你要启动的窗口类
        app.Run(new MainWindow());
    }
    

    注意:InitializeComponent()必须调用,否则App.xaml中定义的资源、样式等不会生效。

  • 清理并重建项目
    执行VS顶部菜单的「生成」→「清理解决方案」,再执行「生成解决方案」,确保旧的自动生成文件被彻底清理。

额外说明

旧版本VS(如2019)的WPF模板在移除StartUpUri后,自动生成Main方法的逻辑可能更宽松,所以未出现冲突。VS2022对项目构建的校验更严格,因此需要手动调整构建属性来解决冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 00:02:07