在.NET Framework中编译代码时,引用会发生什么?

时间:2018-02-15 14:43:52

标签: c# .net clr

我永远不明白,当代码由编译器编译并转换为中间代码以在CLR上运行时,外部DLL会发生什么。

是否将DLL代码添加到中间代码中并且新机器上不再需要引用,或者只存储添加的DLL的路径,我们需要在驱动器上运行该程序的这些DLL。

1 个答案:

答案 0 :(得分:1)

通常(即有一些例外)引用的程序集需要在部署系统上。程序集中包含的所有内容都是程序集名称(包括版本和可能的签名)。

在运行时应用程序集绑定(涉及GAC,配置覆盖等)以获得正确的程序集。规则取决于应用程序域的设置方式(例如,可以添加额外的文件夹,这就是ASP.NET Web应用程序应用不同规则的原因)。

在各种情况下可以嵌入引用(包括在设置正确的选项时使用引用ActiveX并使用程序集绑定工具)。