C#与.NET程序员面试宝典 2.2.4 面试题11:什么是.NET中的共享程序集

共享程序集与私有程序集相对,使用共享程序集时需注意一些事项。这个面试题目主要考察应聘者关于共享程序集方面知识的理解。

 

【出现频率】★★★★

 

【关键考点】

共享程序集(Shared Assembly)

全局程序集高速缓冲(Global Assembly Cache)

 

【考题分析】

共享程序集(Shared Assembly),与私有程序集相对,它提供多个应用程序域访问同一个程序集的能力,在内存中只存在该程序集的同一份副本,这种非特定于域的代码共享可以极大地节省占用内存资源。并且在大多数情况下,共享程序集安装在全局程序集高速缓冲存储器(Global Assembly Cache)中,而不存在于应用程序相关目录下。对共享程序集的引用不会产生文件复制,同时也不会产生额外的副本。

 

使用共享程序集时需要避免共享程序集命名的冲突,以及共享程序集因版本升级带来的不兼容问题。解决这类问题常见的办法是创建强命名,或者在全局程序集高速缓冲存储器GAC中安装共享程序集。

 

注意:共享程序集不能通过简单XCOPY 命令实现部署,而应使用MSI(Microsoft Windows Installer)进行。

 

【答案】

共享程序集提供多个应用程序域访问同一个程序集的能力,在内存中只存在该程序集的同一份副本,这种非特定于域的代码共享可以极大地节省占用内存资源。

posted @ 2010-10-19 09:44  面试宝典  阅读(742)  评论(0编辑  收藏  举报