2017-03-08 19 views
1

在我的ASP.NET MVC项目中,我想将我的服务类作为类库。
我想为我的主项目添加一些dll。
将被添加的dll具有自己的程序集引用。其中一些可能是相同的,例如System等。
此架构是否影响主项目的性能?程序集加载引用了几个dll

只有一个System -dll加载或为每个类库单独加载?

+0

作为项目引用和从属程序集引用引用的程序集仅作为项目的引用复制一次到当前项目的输出位置。您需要手动引用由依赖关系引用的其他程序集,但不能通过主项目引用。 –

回答

2

对于给定的.NET进程,存在(默认情况下)为单个AppDomain,这是加载和解析DLL的环境。这意味着如果你引用了DLL X(Say,System.dll),并且还引用了也引用System.dll的DLL Y,它将只会被加载一次到appdomain中,并且进一步的引用将在内存中重用相同的实例。

对于自定义组件也是如此。如果X和Y都引用Z.dll,它仍然只加载一次。

你可以轻松地休息,因为知道你不会在这里造成任何膨胀。

相关问题