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

VS2019开发.NET Core 3.1项目发布到linux-x64缺失WinForms运行时包如何解决

错误原因

核心报错根因:你的项目当前引入了仅Windows平台可用的Windows Forms(WinForms)桌面运行时依赖,Microsoft.WindowsDesktop.App.WindowsForms 没有对应linux-x64架构的官方运行时包,因此跨平台发布时直接触发错误。

解决步骤

根据你的项目类型选择对应方案即可:

方案1:非GUI类项目(控制台、WebAPI、后台服务等)

这类项目本不需要WinForms依赖,去掉相关配置即可:

  • 右键项目选择「属性」,打开「应用程序」选项卡,确认目标框架没有绑定Windows窗体相关配置
  • 打开项目根目录的.csproj文件,做两处修正:
    1. 确认项目Sdk为Microsoft.NET.Sdk,不要使用Microsoft.NET.Sdk.WindowsDesktop
    2. 删除配置中<UseWindowsForms>true</UseWindowsForms>这一行,保存文件
  • 重新生成项目后再执行发布操作即可

方案2:需要运行在Linux的GUI桌面项目

.NET Core 3.1版本的WinForms完全不支持Linux系统,必须替换为跨平台UI框架:

  • 可选择Avalonia UI,适配全平台,兼容.NET Core 3.1和Visual Studio 2019
  • 可选择GTK#,是Linux原生适配的GUI绑定框架
  • 若可升级.NET版本,也可升级到.NET 6+后使用MAUI框架开发跨平台GUI
发布校验

修正依赖后重新配置发布参数:目标框架netcoreapp3.1、部署模式自包含、目标运行时linux-x64,重新发布即可生成可在Linux x64环境直接运行的程序包;如果目标Linux环境提前安装了.NET Core 3.1运行时,也可选择框架依赖模式,生成的文件体积更小。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 13:06:04