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

.NET 9.0 MAUI Blazor Hybrid发布Windows包遇Main方法错误求助

解决.NET 9 MAUI Blazor Hybrid Windows MSIX发布的入口点与Runtime问题

1. 修正发布配置文件(MSIXwin10x64.pubxml)

打开你的发布配置文件,调整以下配置:

  • 将TargetFramework从net9.0改回MAUI Windows专属的目标框架格式:
    <TargetFramework>net9.0-windows10.0.19041.0</TargetFramework>
    
    注:版本号10.0.19041.0对应Windows 10 2004及以上版本,若你的Windows SDK版本更高,可替换为对应版本,比如10.0.22621.0
  • 保留RuntimeIdentifier为win-x64(这个修改是正确的,.NET 9已统一使用该标识替代旧的win10-x64):
    <RuntimeIdentifier>win-x64</RuntimeIdentifier>
    

2. 检查并修复项目文件(*.csproj)

打开项目的.csproj文件,确认关键配置无误:

  • 确保启用MAUI标识:
    <UseMaui>true</UseMaui>
    
  • 输出类型必须设置为Windows应用:
    <OutputType>WinExe</OutputType>
    
  • 确认TargetFrameworks包含带Windows版本的MAUI目标框架,和pubxml配置一致:
    <TargetFrameworks>net9.0-android;net9.0-ios;net9.0-maccatalyst;net9.0-windows10.0.19041.0</TargetFrameworks>
    
    若你只做Windows平台开发,单个TargetFramework设置为带版本的net9.0-windowsxxx即可

3. 移除手动添加的Main方法

删掉你之前添加的虚拟Main类——MAUI Blazor Hybrid的入口点由框架自动生成,完全不需要手动编写Main方法。如果项目里还有其他带Main方法的类,也一并删除或修改(比如改成非静态方法)。

4. 清理重建后重试发布

  • 在Visual Studio中依次点击「生成」→「清理解决方案」
  • 再点击「生成」→「重建解决方案」
  • 最后尝试发布Windows MSIX包

问题根源说明

  • 第一个RuntimeIdentifier错误:.NET 9已弃用win10-x64这类带系统版本的RuntimeIdentifier,改用统一的win-x64,但你错误地把TargetFramework改成了单纯的net9.0,导致项目被识别为类库而非MAUI应用,进而触发入口点检测问题。
  • 入口点冲突错误:MAUI项目依赖框架自动生成的入口代码,当项目配置被改成非MAUI格式时,VS会按普通.NET应用要求检测Main方法;手动添加Main后,又和框架生成的入口点产生冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 13:44:51