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

使用osx.11.0-arm64 RID执行dotnet publish报错如何解决

.NET 6 Preview 7 macOS ARM64 发布报错问题解答

核心结论

.NET 6 Preview 7 虽然已经在runtime.json中收录了osx.11.0-arm64、osx-arm64等ARM64架构macOS的RID定义,但是该预览版本没有内置对应RID的独立应用主机(apphost)二进制文件,属于预览版的已知缺陷,并非RID列表标注错误。

可行解决方案

  • 优先升级到.NET 6 RC1及以上版本,从RC1开始官方已经完整适配了Apple Silicon架构的全量发布组件,直接发布不会再触发该报错
  • 若必须保留使用.NET 6 Preview 7,可选择两种临时绕过方式:
    1. 禁用应用主机生成:在项目.csproj文件的<PropertyGroup>节点中添加配置<UseAppHost>false</UseAppHost>,发布后的程序可通过dotnet 你的应用名.dll命令启动
    2. 手动补全apphost文件:下载对应版本的osx-arm64 apphost二进制,放到SDK对应目录/usr/local/share/dotnet/sdk/6.0.100-preview.7.21379.14/AppHostTemplates/osx-arm64/native/,不存在的目录可手动创建

可排查的遗漏配置项

  • 确认安装的是ARM64原生版本的.NET 6 Preview 7 SDK,而非运行在Rosetta转译层的x64版本SDK,x64版本SDK默认不携带ARM64架构的apphost文件
  • 执行发布命令时检查参数是否正确,完整参考命令为dotnet publish -r osx.11.0-arm64 -c Release
  • 确认项目配置没有全局RID覆盖逻辑,排除global.json、导入的第三方项目配置修改了RID的匹配规则

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 20:15:02