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

编译.NET控制台应用Linux版本遇问题:无发布配置窗口且命令编译失效

Discord机器人Linux跨平台编译问题解决方案

一、检查并安装.NET跨平台组件

  • 打开Visual Studio Installer,确认已勾选跨平台.NET开发组件(包含Linux、macOS目标平台支持),未安装则勾选后完成更新。

二、修正命令行编译命令

你之前的命令存在参数格式错误,正确的跨平台发布命令如下:

生成自包含可执行文件(无需目标机器安装.NET Runtime)

dotnet publish MyAppName.csproj -c Release -r linux-x64 --self-contained true

生成依赖目标机器.NET Runtime的文件

dotnet publish MyAppName.csproj -c Release -r linux-x64 --self-contained false

注意:dotnet build仅完成项目编译,不会生成目标平台可发布包;需使用dotnet publish命令,且参数--runtime(或缩写-r)不能有空格,你之前的命令中-- runtime多了空格,这是导致生成Windows版本的核心原因。

三、找回发布配置窗口(Publish Profiler)

  • 右键项目 → 选择发布;
  • 若未出现预期的配置界面,点击新建按钮,选择文件夹作为发布目标并完成初始化;
  • 在发布配置页点击显示所有设置,即可找到目标运行时选项,选择linux-x64即可。

四、确认项目类型兼容性

确保你的项目是.NET Core/.NET 5+的控制台项目(Discord机器人标准项目类型),若为老旧的.NET Framework项目,不支持跨平台编译,需重新创建.NET Core/.NET 6+控制台项目并迁移代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 12:27:22