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

Visual Studio 2022无法生成包含所有DLL的单EXE文件问题咨询

VS2022下.NET 4.8项目发布成单EXE(带所有DLL和app.config)的解决办法

方案1:切换到文件夹发布模式(VS原生支持)

  • 右键你的.NET 4.8项目,选「发布」,进入向导后别选默认的安装程序选项,点**「更多选项」**,找到「文件夹」这个发布目标
  • 选好要发布到的本地文件夹路径,点「完成」进入配置页
  • 点配置页里的「编辑」按钮(对应配置文件那一项),在弹出窗口里:
    • 部署模式选**「自包含」**(要打包所有依赖选这个,若仅打包项目DLL、依赖系统已装的.NET 4.8就选「框架依赖」)
    • 勾选「生成单个文件」,选好对应系统的目标运行时(比如win-x64)
    • 保存配置后点「发布」,目标文件夹里就会生成带所有DLL的单EXE,app.config也会在同目录

方案2:用第三方工具合并(更灵活)

要是VS原生的单文件发布不合意(比如不想运行时解压临时文件),可以用这俩工具:

  • ILMerge:微软官方工具,直接命令行合并
    • 先通过NuGet装ILMerge,或者去官网下独立工具
    • 命令示例:
      ILMerge.exe /target:winexe /out:YourFinalExe.exe YourOriginalExe.exe Dependency1.dll Dependency2.dll
      
    • 记得把原app.config改名为YourFinalExe.exe.config,和EXE放一起
  • Costura.Fody:NuGet集成,编译时自动嵌DLL
    • NuGet搜Costura.Fody装上,不用额外配置,直接编译项目,生成的EXE就自带所有依赖DLL,app.config正常放同目录

补充说明

.NET 6这类现代框架的发布向导默认就把单文件发布做的很直观,而.NET Framework 4.8在VS2022里默认导向了安装程序类的发布流程,得手动切到文件夹模式才行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 02:01:29