全局程序集缓存 (GAC) 的用途是什么?

发布于 2024-11-06 06:08:31 字数 175 浏览 6 评论 0原文

我已经在GAC中注册了一个DLL。我可以在路径中看到DLL:c:\windows\asssembly;我想这意味着 DLL 注册正确。

但是,如果我必须在应用程序中使用该 DLL,我仍然需要单击“添加引用”并从上述路径添加。

那么,如果我还需要再次添加引用,GAC 有什么用呢?

I have registered a DLL in the GAC. I can see the DLL in the path: c:\windows\asssembly; I suppose this means the DLL registerd correctly.

However, if i have to use the DLL in my application, I still need to click "Add Reference" and add from the above path.

So, what's the use of the GAC if I still need to add the reference again?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

可遇━不可求 2024-11-13 06:08:31

来自 MSDN

全局程序集缓存存储专门指定由计算机上的多个应用程序共享的程序集。

换句话说,如果多个应用程序(当然是在同一台计算机上)共享 DLL,则您希望在 GAC 中注册 DLL。

不过,从您的评论中,我还想提几点:

  1. 您可能错误地注册了 DLL;一旦您的 DLL 位于 GAC 中,您应该能够从所有 GAC DLL 所在的同一列表中添加它。您不必通过路径来执行此操作。

  2. 您的 DLL 位于 GAC 中这一事实并不意味着您的代码现在应该能够通过某种自动魔法看到它;您仍然需要对其进行引用(就像您需要对您依赖的所有其他 .NET DLL 进行引用一样,这些 DLL 也位于 GAC 中)。

  3. 同样,GAC 的优点是,如果您的 3 个应用程序需要 DLL,您只需部署一次(您将在 GAC 中部署它,而不是在每个应用程序的 bin 中部署 3 次) 目录)。

希望这已经澄清了一些事情。

From MSDN:

The global assembly cache stores assemblies specifically designated to be shared by several applications on the computer.

In other words, you want to register your DLL in the GAC if multiple applications (on the same machine, of course) will share the DLL.

From your comments, however, I want to mention a few more things:

  1. You may have registered the DLL incorrectly; once your DLL is in the GAC, you should be able to add it from the same list where all the GACed DLLs are. You should not have to do it by the path.

  2. The fact that your DLL is in the GAC does not mean your code should now be able to see it by some sort of automagic; you still need a reference to it (just like you need a reference to all other .NET DLLs you depend on that are also in the GAC).

  3. Again, the advantage of the GAC is that if 3 of your applications need the DLL, you'll only have to deploy it once (you'll deploy it the GAC, instead of 3 times to each application's bin directory).

Hope this has cleared things up a bit.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文