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

无法在树莓派上运行.NET 5 Windows Form程序,提示框架未找到

问题根因
  • 你收到的Microsoft.WindowsDesktop.App缺失报错,是因为Windows Forms属于微软Windows专属桌面运行时组件,Linux环境下的标准.NET 5运行时默认不包含该框架组件,微软官方并未提供Linux版的WinForms原生运行时。你看到的可运行案例,均是通过Mono的WinForms兼容层实现的,没有用到.NET Core/5+的原生WinForms运行时。
  • 用Mono运行报错的原因:你当前的程序是基于.NET 5编译的,Mono默认仅兼容.NET Framework时代的编译输出,二者的CIL镜像格式存在差异,无法直接识别运行。
可行解决方案

方案1:继续使用WinForms(依赖Mono兼容层)

  1. 将项目的目标框架改为.NET Framework 4.7/4.8版本,不要使用.NET 5/.NET Core系列框架
  2. 编译时选择Any CPU架构,不要勾选Windows专属平台限定
  3. 在树莓派上安装完整Mono运行时:sudo apt install mono-complete
  4. 将编译输出的exe和依赖文件传输到树莓派,执行mono <<FILENAME>>.exe即可运行

方案2:替换为跨平台UI框架(更稳定,推荐)

WinForms的Mono兼容层存在较多API适配问题,长期使用建议替换为原生支持Linux ARM的跨平台UI框架:

  • 可选框架:AvaloniaUI、GTK#、.NET MAUI(需升级到.NET 6及以上版本)
  • 发布时目标运行时选择linux-arm(树莓派3B+默认32位系统)或linux-arm64(64位系统),不要选择Portable模式
  • 传输文件到树莓派后直接执行dotnet <<FILENAME>>.dll即可运行,System.Device.Gpio功能无需额外适配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 01:54:06