Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 程序集加载引用了几个DLL_C#_.net Assembly - Fatal编程技术网

C# 程序集加载引用了几个DLL

C# 程序集加载引用了几个DLL,c#,.net-assembly,C#,.net Assembly,在我的ASP.NET MVC项目中,我想将我的服务类设置为类库。 我想在我的主项目中添加一些DLL。 将添加的DLL本身具有程序集引用。其中一些可能是相同的,例如System等 该架构是否会影响主项目的性能 是否只加载了一个系统-dll,还是为每个类库分别加载 对于给定的.NET进程,有(默认情况下)作为单个AppDomain,这是DLL加载和解析到的环境。这意味着,如果您引用DLL X(例如System.DLL),同时也引用DLL Y(该DLL也引用System.DLL),则它将只加载一次到a

在我的ASP.NET MVC项目中,我想将我的服务类设置为类库。
我想在我的主项目中添加一些DLL。
将添加的DLL本身具有程序集引用。其中一些可能是相同的,例如
System

该架构是否会影响主项目的性能


是否只加载了一个
系统
-dll,还是为每个类库分别加载

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

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


您可以轻松地休息一下,因为您没有在此处造成任何膨胀。

同时作为项目引用和从属程序集引用引用的程序集将仅作为项目引用复制一次到当前项目的输出位置。您将需要手动引用依赖项引用的其他程序集,而不是主项目引用的程序集。