首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将多个程序集合并为一个程序集?

如何将多个程序集合并为一个程序集?
EN

Stack Overflow用户
提问于 2011-11-10 17:43:48
回答 3查看 94.5K关注 0票数 88

我使用EXE项目( azure应用程序的启动任务)使用我的服务堆栈,因为我已经将以下服务堆栈的DLL和一些Azure的DLL复制到EXE项目中。

当我构建此EXE项目时,Azure DLL将与我的EXE捆绑在一起,但服务堆栈的DLL将不会与EXE捆绑在一起,因为要在任何计算机上运行我的EXE,我需要手动复制所有服务堆栈的DLL。

我使用了这个服务堆栈的dll来使用

JsonServiceClient client = new JsonServiceClient(servicepath);

要将所有这些all捆绑到我的EXE中,我应该做些什么?

EN

回答 3

Stack Overflow用户

发布于 2011-11-10 19:41:27

您要查找的工具名为ILMerge。它是一个命令行工具,可以像这样使用:

ilmerge /target:winexe /out:MyApp.exe 
        MyExe.exe ServiceStack.dll ServiceStack.Interfaces.dll ServiceStack.ServiceInterface.dll  ServiceStack.Text.dll

还有一篇文章描述了如何在VS项目设置here中包含ILMerge

票数 29
EN

Stack Overflow用户

发布于 2015-06-26 20:48:59

试试ILMerge-GUI, the .NET merger。它是一个基于图形用户界面的Ilmerge,避免了所有的命令行工作。

票数 7
EN

Stack Overflow用户

发布于 2016-04-13 22:21:42

如果你有WPF依赖,你的选择可能会更有限.....ILMerge似乎不会处理这些问题。然而,Costura.Fody (正如Codefox上面提到的)对我们来说工作得很好,花了大约5分钟才上手……一次非常好的经历。

使用Nuget安装(在Package Manager控制台中选择正确的默认项目)。

它合并标记为"Copy Local“= true的所有.EXE,并生成一个合并的DLL(与标准输出一起,其中大多数现在不是必需的),该DLL也被压缩。然后就可以独立使用了。

许可证是麻省理工学院的,因此您可以根据需要进行修改/分发。

https://github.com/Fody/Costura/

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8077570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档