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

ILMerge已弃用,如何在Visual Studio项目中手动安装或替换它?

解决方案

一、手动添加ILMerge 3.0.41到项目

当然可以手动将旧版本的ILMerge加入项目,步骤如下:

  • 从旧机器复制ILMerge包文件:找到旧机器上的NuGet缓存目录%userprofile%\.nuget\packages\ilmerge\3.0.41,把整个3.0.41文件夹复制出来
  • 在新项目的解决方案根目录下,创建一个本地NuGet源文件夹(比如命名为LocalNuGetPackages)
  • 将复制的3.0.41文件夹放到LocalNuGetPackages\ilmerge\路径下
  • 在Visual Studio中,打开「工具」→「选项」→「NuGet包管理器」→「包源」,点击加号添加本地源,路径指向刚才创建的LocalNuGetPackages文件夹
  • 回到项目的NuGet包管理器,就能找到并安装ILMerge 3.0.41
  • 若不想配置本地源,也可以直接把ILMerge.exe及相关依赖文件复制到项目目录,然后在项目的生成后事件命令行中手动调用合并命令,示例:
    "$(ProjectDir)ilmerge.exe" /out:"$(TargetDir)YourApp.exe" "$(TargetPath)" "$(ProjectDir)Dependencies\*.dll"
    

二、替代ILMerge的工具

如果不想依赖旧版本ILMerge,这些工具可以替代:

  • ILRepack:完全兼容ILMerge的命令行参数,开源且持续维护,直接通过NuGet安装即可,使用逻辑和ILMerge几乎一致
  • Costura.Fody:借助Fody编织器在编译阶段自动将依赖DLL合并到主程序集,无需手动写命令,安装NuGet包后,在FodyWeavers.xml中添加Costura节点即可完成配置
  • 单文件发布(.NET Core/.NET 5+):如果项目已升级到.NET Core或更高版本,直接在Visual Studio项目属性的「发布」选项中勾选「生成单个文件」,就能自动打包所有依赖为单个EXE
  • DotNetMerge:针对.NET Core的专用合并工具,支持命令行操作,适合自动化构建场景

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 03:52:37