根据定义,私有程序集通常由单个应用程序使用,并存储在应用程序的目录或下面的子目录中。共享程序集通常存储在全局程序集缓存中,它是由 .NET 运行时维护的程序集存储库。共享程序集通常是代码库,许多应用程序会发现它们很有用,例如所有应用程序都将使用的 Crystal 报表类。
根据上面的定义,共享程序集不需要GAC注册,但一般我们做GACA,还有一种情况是我们可以在本地网络中保存一个程序集,多个应用程序使用同一个程序集,我们可以说程序集作为共享程序集?
共享程序集与私有程序集有何不同?
根据定义,私有程序集通常由单个应用程序使用,并存储在应用程序的目录或下面的子目录中。共享程序集通常存储在全局程序集缓存中,它是由 .NET 运行时维护的程序集存储库。共享程序集通常是代码库,许多应用程序会发现它们很有用,例如所有应用程序都将使用的 Crystal 报表类。
根据上面的定义,共享程序集不需要GAC注册,但一般我们做GACA,还有一种情况是我们可以在本地网络中保存一个程序集,多个应用程序使用同一个程序集,我们可以说程序集作为共享程序集?
共享程序集与私有程序集有何不同?
我认为下面的比较是非常准确的。
私人大会:
公共(共享)大会:
附加说明:在 Visual Studio 中,私有程序集将被自动复制。每次我们使用“添加引用”在其他项目中引用私有程序集时,都会在 bin 文件夹中创建一个新副本。
取决于对您来说“共享”是什么意思。如果对于共享,您的意思是要放入 GAC 的程序集,主要区别在于共享程序集有一个强名称,这给了它们一个唯一的标识。在这里您可以找到更多详细信息http://windowsdevcenter.com/pub/a/dotnet/2003/03/17/bindingpolicy.html