在 .NET Framework 中编译代码时,引用会发生什么情况?
What happens to the references when a code is Compied in .NET Framework?
我一直不明白,当代码由编译器编译并转换为中间代码并在 CLR 上 运行 时,外部 DLL 实际发生了什么。
是否将 DLL 代码添加到中间代码和新机器上不再需要引用,或者只存储添加的 DLL 的路径,我们需要驱动器上的这些 DLL 才能 运行 程序。
通常(即有一些例外)引用的程序集需要在部署系统上。您的程序集中包含的只是程序集名称(这包括版本和可能的签名)。
程序集绑定(涉及 GAC、配置覆盖等)在运行时应用以获得正确的程序集。规则取决于应用程序域的设置方式(例如,可以添加额外的文件夹,这就是 ASP.NET 网络应用程序应用不同规则的原因)。
有多种情况可以嵌入引用(包括设置正确选项时引用ActiveX和使用程序集绑定工具)。
我一直不明白,当代码由编译器编译并转换为中间代码并在 CLR 上 运行 时,外部 DLL 实际发生了什么。
是否将 DLL 代码添加到中间代码和新机器上不再需要引用,或者只存储添加的 DLL 的路径,我们需要驱动器上的这些 DLL 才能 运行 程序。
通常(即有一些例外)引用的程序集需要在部署系统上。您的程序集中包含的只是程序集名称(这包括版本和可能的签名)。
程序集绑定(涉及 GAC、配置覆盖等)在运行时应用以获得正确的程序集。规则取决于应用程序域的设置方式(例如,可以添加额外的文件夹,这就是 ASP.NET 网络应用程序应用不同规则的原因)。
有多种情况可以嵌入引用(包括设置正确选项时引用ActiveX和使用程序集绑定工具)。