ILMerge做了什么?
它是创建一个新程序集,还是只将多个程序集放入一个dll中?
我是从以下角度问:
InternalsVisibleTo
属性的程序集合并到一起时会发生什么?由于
答案 0 :(得分:7)
我不确定你在合并程序集和将所有内容放在一个文件之间的区别。它的作用是采用一组.Net程序集并生成一个包含所有程序集的组合内容的程序集。
这对要合并的程序集的InternalsVisibleTo
属性没有影响。运行时使用此属性来允许访问程序集之间的internal
构造(否则这是非法的)。因为它们现在都在一个程序集中,但它们可以在不使用internal
的情况下自由访问彼此的InternalsVisibleTo
类型。简而言之,如果internal
访问在合并之前有效,则在合并之后它将是有效的。
我不确定反射和完全限定的装配名称是什么意思。但似乎有两种我能想到的案例