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

如何将.NET Framework 4.6控制台应用打包为不含运行时的单EXE文件

将.NET Framework 4.6控制台应用打包为单个独立EXE(不含运行时)

.NET Framework和.NET 5+的打包机制完全不同,没法直接用dotnet publish的单文件参数。下面是两种可行的方案,帮你把应用打包成单个EXE文件:

方法1:用Costura.Fody(最省心的方式)

  • 右键你的项目 → 管理NuGet程序包,搜索Costura.Fody并安装
  • 安装完成后正常编译项目,输出目录里的主EXE就是已经嵌入所有依赖DLL的单个文件
  • 原理:这个工具会自动把所有依赖的DLL嵌入到主EXE里,程序运行时会自动将这些DLL提取到临时目录使用,不需要额外配置

方法2:用ILMerge手动合并

  1. 先获取ILMerge工具:可以通过NuGet安装ILMerge包,或者直接下载其可执行文件
  2. 编译你的控制台应用,确保所有依赖的DLL都和主EXE在同一个输出目录(比如bin\Release)
  3. 打开命令提示符,切换到ILMerge的所在目录,执行合并命令:
    ILMerge.exe /out:FinalApp.exe YourConsoleApp.exe Dependency1.dll Dependency2.dll
    
    • /out参数指定合并后生成的单个EXE文件名
    • 后面依次列出你的主程序EXE以及所有需要合并的依赖DLL
  4. 执行完成后,生成的FinalApp.exe就是单个可执行文件

重要提醒

  • .NET Framework是依赖系统全局安装的运行时,所以不可能把运行时打包进EXE,必须确保目标机器已经安装了.NET Framework 4.6
  • 上面两种方法都是把应用的依赖DLL合并到主EXE中,实现单个文件分发,运行时还是需要依赖系统的.NET Framework

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 11:20:37