共享程序集与私有程序集有何不同?

时间:2012-05-26 14:46:08

标签: .net

根据定义,私有程序集通常由单个应用程序使用,并存储在应用程序的目录或下面的子目录中。共享程序集通常存储在全局程序集缓存中,该缓存是由.NET运行时维护的程序集的存储库。共享程序集通常是代码库,许多应用程序会发现它们很有用,例如所有应用程序将用于报告的Crystal报告类。

按照上面的定义,共享程序集不需要GAC注册,但通常我们会执行GACA,还有一种情况是我们可以在本地网络中保存程序集并且多个应用程序使用相同的程序集,是否可以说汇编作为共享集会?

共享程序集与私有程序集有何不同?

2 个答案:

答案 0 :(得分:1)

我认为以下comparison非常适合。

私人大会:

  1. 私有程序集只能由一个应用程序使用。
  2. 私有程序集将存储在特定应用程序的目录或子目录中。
  3. 私人集会没有其他名称。
  4. 私人组装不需要强名称。
  5. 私有程序集没有任何版本约束。
  6. 公共(共享)程序集:

    1. 多个应用程序可以使用公共程序集。
    2. 公共程序集存储在GAC(全局程序集缓存)中。
    3. 公共程序集也称为共享程序集(注意:项目之间共享)。
    4. 必须为公共集会创建强名称。
    5. 公共程序集应严格执行版本约束。
    6. 附加说明:在Visual Studio中,将自动复制专用程序集。每次我们使用“添加引用”引用其他项目中的私有程序集时,都会在bin文件夹中创建一个新副本。

答案 1 :(得分:0)

取决于您的“共享”方式。如果对于共享,则表示要放入GAC的程序集,主要区别在于共享程序集具有强名称,这为它们提供了唯一的标识。在这里,您可以找到更多详细信息http://windowsdevcenter.com/pub/a/dotnet/2003/03/17/bindingpolicy.html

相关问题