我们的应用程序使用大量的自定义构建和第三方库,现在每个应用程序都有对这些程序集的私有引用,这意味着这些应用程序中的每个应用程序的bin文件夹都会复制引用的程序集。对于例如应用程序引用log4net.dll,CustomLibA.dll,CustomLibB.dll和Application B还引用了log4net.dll,CustomLibA.dll,CustomLibB.dll,并且这些程序集都存储在以下结构化中。在.NET中共享程序集
d:\的Inetpub \ wwwroot的\ ApplicationA \ BIN d:\的Inetpub \ wwwroot的\ ApplicationB \ BIN
我对这个安排如下问题:
我认为这将创造性能问题随着应用程序数量和引用的增长而增加,因为每个应用程序都会加载所有这些会导致虚拟地址碎片的程序集。我的假设是否正确?
我可以组织应用程序,使所有这些应用程序从常用文件夹中引用程序集并且在bin文件夹中没有私人副本吗?对于例如所述组件log4net.dll,CustomLibA.dll,CustomLibB.dll在下面的文件夹有序
d:\的Inetpub \ wwwroot的\应用\共同
和参考通过按如下方式组织的应用:
d:\的Inetpub \ wwwroot的\ APPS \ ApplicationA d:\的Inetpub \ wwwroot的\ APPS \ ApplicationB
这些应用程序中的bin文件夹不会有共同的组件。
这项工作?我试图通过设置复制本地为false来做到这一点,但我得到'无法加载文件或程序集xxxx'。
我知道我可以使用GAC,但由于部署过程的特性,我想避免使用GAC来处理特定的定制库。
谢谢, 哈里克里希南。
这些东西的一个很好的参考是CLR的前三章通过C# – 2009-05-28 22:11:07