0

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

根据上面的定义,共享程序集不需要GAC注册,但一般我们做GACA,还有一种情况是我们可以在本地网络中保存一个程序集,多个应用程序使用同一个程序集,我们可以说程序集作为共享程序集?

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

4

2 回答 2

1

我认为下面的比较是非常准确的。

私人大会:

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

公共(共享)大会:

  1. 公共程序集可供多个应用程序使用。
  2. 公共程序集存储在 GAC(全局程序集缓存)中。
  3. 公共程序集也称为共享程序集(注意:项目之间共享)。
  4. 必须为公共集会创建强名称。
  5. 公共程序集应严格执行版本约束。

附加说明:在 Visual Studio 中,私有程序集将被自动复制。每次我们使用“添加引用”在其他项目中引用私有程序集时,都会在 bin 文件夹中创建一个新副本。

于 2016-03-13T11:21:41.960 回答
0

取决于对您来说“共享”是什么意思。如果对于共享,您的意思是要放入 GAC 的程序集,主要区别在于共享程序集有一个强名称,这给了它们一个唯一的标识。在这里您可以找到更多详细信息http://windowsdevcenter.com/pub/a/dotnet/2003/03/17/bindingpolicy.html

于 2013-01-07T20:32:32.640 回答