1

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

4

4 回答 4

1

您应该仅在需要时通过将它们安装到全局程序集缓存中来共享程序集。作为一般准则,保持程序集依赖项私有,并将程序集定位在应用程序目录中,除非明确需要共享程序集。此外,不必将程序集安装到全局程序集缓存中以使 COM 互操作或非托管代码可以访问它们。

参考:全局程序集缓存

另外,请参阅GAC 与 BIN

于 2013-02-26T14:31:09.790 回答
1

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

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

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

于 2013-02-26T14:18:40.193 回答
1

请参阅此处的讨论:为什么我不应该使用 GAC?

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

于 2013-02-26T14:18:45.890 回答
0

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

还要看看你是否想重用这个库。供其他应用程序和库等在 GAC 中全局使用。对于本地使用,仅用于 exe 将其放在同一路径中。

于 2013-02-26T14:18:57.163 回答