首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >配置ILMerge包

配置ILMerge包
EN

Stack Overflow用户
提问于 2018-11-12 00:58:50
回答 1查看 154关注 0票数 0

我有图形用户界面c#项目,其中有几个额外的软件包在参考。我希望在构建输出中没有任何额外的dll的可执行文件。为此,我尝试使用来自nugetILMerge包。我刚刚使用以下命令安装了软件包:

代码语言:javascript
复制
Install-Package ilmerge -Version 3.0.18

但是我得到了同样的需要动态链接库的可执行文件。为了让ILMerge包构建合并的可执行文件,我应该在我的项目中做一些配置吗?

EN

回答 1

Stack Overflow用户

发布于 2018-11-12 01:33:33

我可以向你提出另一种解决方法,它不需要任何nuget包,只需要一些代码:

你应该在你的应用程序的入口点中将项目的所有引用都添加为Embeded Resources.

  • After
  1. ,你应该这样做:

AppDomain.CurrentDomain.AssemblyResolve += OnAssemblyResolve;私有程序集OnAssemblyResolve(对象发送器,ResolveEventArgs参数){ var assemblyName = args.Name.Substring(0,args.Name.IndexOf(','));var程序集=基于assemblyName的嵌入式资源的...load二进制文件...返回程序集(Assembly.Load);}

收益:没有额外的套餐。易于使用和调试。

关注点:如果你有很多外部包,很难维护。需要手动将它们添加到Embeded Resources。

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

https://stackoverflow.com/questions/53251057

复制
相关文章

相似问题

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