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

GitHub Actions构建C#项目仅输出DLL无EXE文件问题咨询

问题结论

这个现象属于正常情况,并非构建流程故障。

核心原因
  • 运行环境差异:你本地构建环境大概率是Windows系统,.NET 6在Windows下执行默认构建时,会自动生成Windows平台专属的.exe可执行宿主,搭配项目DLL运行;但你当前GitHub Actions工作流指定的运行环境是ubuntu-latest(Linux系统),默认执行框架依赖模式的跨平台构建时,核心输出产物是跨平台通用的项目DLL,不会生成Windows专属的.exe文件。
  • 构建参数缺失:你当前使用的dotnet build命令没有指定目标运行时标识(RID),也没有配置生成平台专属原生可执行文件的相关参数,Linux环境下默认不会输出适配Windows的可执行程序。
修复方案

根据实际需求二选一即可:

  1. 直接更换CI运行环境
    把工作流里runs-on: ubuntu-latest改成runs-on: windows-latest,在Windows环境下执行构建,就会和本地构建逻辑完全一致,默认输出包含.exe文件的完整产物,只需要同步确认上传路径匹配对应配置下的输出目录即可。
  2. 保留Linux构建环境,指定目标运行时参数
    修改构建步骤的执行命令,显式指定目标运行时为64位Windows,开启可执行文件生成,示例命令如下:
    dotnet build -c Release -r win-x64 --self-contained false
    
    该命令指定以Release配置构建、目标平台为64位Windows、生成框架依赖版本的产物,输出目录会变为bin/Release/net6.0/win-x64/,需要同步修改upload-artifact步骤的path配置,建议使用通配符相对路径替代写死的绝对路径,降低后续配置调整的出错概率,示例路径配置:
    path: "**/bin/Release/net6.0/win-x64/*"
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.31 06:19:28