【发布时间】:2018-02-10 12:03:44
【问题描述】:
我有一个应用程序引用了一个相当大的库 DLL(我们称之为lib.dll),但它只使用其中的一个类(我们称之为Helper)。
lib.dll 有额外的传递引用,它们在编译时都复制到我的项目的bin 文件夹中。
我很想避免这种开销,并找到一种方法将构成 Helper 的代码“复制”或“交叉编译”或“合并”到我的主项目中。
有没有这样做的可能性?我想避免整个 IL 合并 lib.dll。
【问题讨论】:
-
如果
HelperClass也与其他类或程序集有一些依赖关系怎么办?这会使这个问题变得相当复杂。在最坏的情况下,您最终还是要将整个程序集及其所有依赖项复制到您的程序中。 -
@HimBromBeere 你是对的,但就我而言,它确实是一个简单的类。
-
@close-voters:“太宽泛”我可以反驳。 “不清楚” => 请具体说明?
-
开销?什么开销? .NET 程序集强烈支持按需分页的虚拟内存操作系统提供的“不用为不用的东西付费”范式。对整洁的渴望是一个很好的程序员特质,但这适用于源代码,而不是字节。
-
@HansPassant 也许开销是一个糟糕的词选择,但我所说的开销在于部署。当然,我们有自动化系统等,所以这里没有真正的问题,但我只是想知道是否可以消除我不需要需要的 10 个额外的 dll/pdb 文件.
标签: c# .net dependencies .net-assembly ilmerge