我在编译时理解引用的概念,但不是在运行时。
例如,如果a.dll引用了b.dll,则a.dll可以使用b.dll中的所有内容。这在msil /汇编语言级别如何工作? a.asm是否包含对b.asm的引用或a.asm是否包含来自a.dll和b.dll的所有代码?
答案 0 :(得分:0)
引用只是允许一个程序集使用另一个程序集的指令。不会复制引用程序集中的代码。
异常是常量。如果引用的程序集定义了常量并且第一个程序集使用该常量,那么实际值将在编译的代码中结束,而不是指向常量的指针。如果更改常量,则必须重新编译使用它的任何代码,而不仅仅是您定义常量的程序集。