代码之家  ›  专栏  ›  技术社区  ›  Andrew Bullock

ILMerge实际上是合并程序集,还是将所有内容都放在一个文件中?

  •  2
  • Andrew Bullock  · 技术社区  · 14 年前

    ILMerge做什么?

    它是创建一个新程序集,还是将多个程序集放在一个dll中?

    我想问的是:

    • InternalsVisibleTo 彼此的属性?

    谢谢

    1 回复  |  直到 14 年前
        1
  •  7
  •   JaredPar    14 年前

    我不确定您试图在合并程序集和将所有内容放入一个文件之间画出什么区别。但它所做的是获取一组.Net程序集并生成一个包含所有程序集的组合内容的程序集。

    这对 InternalsVisibleTo 正在合并的程序集的属性。运行时使用此属性允许访问 internal 程序集之间的结构(这在其他方面是非法的)。因为它们现在都在一个程序集中,尽管它们可以自由地访问彼此的 内部的 内观 . 总之,如果 合并前访问有效,合并后访问有效。

    我不确定反射和完全限定的程序集名称是什么意思。但似乎有两个案子我能想到

    1. 在运行时获取类型汇编限定名。这仍然可以正常工作,但是您将获得合并的程序集名称,而不是原始程序集名称