应该将dll保存在文件夹中还是使用gac注册

时间:2013-02-26 14:15:03

标签: c# dll gac

首选哪个,将您的库保存在可执行文件夹中,或者将其注册到GAC?

4 个答案:

答案 0 :(得分:1)

如果您的程序集(dll)仅供应用程序使用,请将其安装在与可执行文件相同的文件夹中。这通常是首选方法(以及大多数用例)。

如果它将被许多应用程序使用,可能会将其安装在GAC中。 GAC实际上只适用于Microsoft程序集。

我最近编写了一个应用程序,我更进了一步,将dll合并为一个可执行文件。

答案 1 :(得分:1)

请参阅此处的讨论:Why should I NOT use the GAC?

TL; DR - 这取决于您的需求和偏好。对于大多数用途,我个人避免使用GAC。

答案 2 :(得分:1)

只有在需要时,才应通过将程序集安装到全局程序集缓存中来共享程序集。 作为一般准则,将程序集依赖项保密,并在应用程序目录中找到程序集,除非明确要求共享程序集。此外,没有必要将程序集安装到全局程序集缓存中以使它们成为可能。可以访问COM互操作或非托管代码。

参考:Global Assembly Cache

另外,请参阅GAC vs BIN

答案 3 :(得分:0)

我会向GAC注册,以避免混淆,并清理各自的二进制文件。从技术上讲,您可以采用任何一种方式,但最好的办法是将其保持在各自的路径中。您应该将所有Windows环境路径用于各自的文件类型,例如用户数据和DLL等。

另请参阅是否要重新使用此库。供GAC使用的其他应用程序和库等全球使用。对于本地使用,只需将exe放在同一路径中。