未提议的程序集在项目引用中的影响

Ram*_*esh 4 .net clr

如果应用程序在编译期间将未使用的DLL引用(框架dll)添加到项目中,会产生什么影响?

比如,它会增加装配尺寸吗?它会在运行时加载这些DLL吗?等等

这个问题与优化无关.这是为了更好地理解.NET基础结构.

Han*_*ant 5

不,C#编译器仅将程序集引用放在最终程序集中,以用于包含代码中实际使用的类型的程序集.添加未使用的程序集的唯一影响是编译本身的轻微减速.

您可以使用ildasm.exe自行查看.在最终程序集上运行它,双击清单并查找.assembly指令.

这在运行时也经过了大量优化,程序集由即时编译器加载.只有在实际调用该程序集中的类型方法时才会这样做.