2011-05-10 67 views
4

可能重复:
When should I deploy my assemblies into the GAC?何时需要使用GAC共享程序集?

MSDN文档:

你应该安装它们进入只有当你需要在全局程序集缓存共享组件。作为一般指导原则,将程序集依赖关系保持为私有,并在程序目录中找到程序集,除非共享程序集明确需要

当共享“明确要求”的组件?如果需要装配共享,可以通过物理XCOPY 部署分布在不同地点的同一总成点菜私有程序集。我不明白这个一般指导原则。

+0

只在非常罕见的情况下。如果我记得VS插件需要在GAC中。其他程序的插件可能存在类似的问题。也许还有一些APTCA的情况。 – CodesInChaos 2011-05-10 11:22:08

+0

Biztalk还需要将程序集部署到GAC。 – 2011-05-10 11:27:44

+0

我在问你将被迫“明确地分享”一个程序集的不同场景。我不问在GAC中何时部署程序集。 – Ian 2011-05-10 12:35:32

回答

0

的一般规则我倾向于遵循的是,如果一个组件要在同一台机器上使用多个应用程序应该在GAC走,即你已经建立了自己的有用的代码框架。

如果你只有一个应用程序,通常最好只使用bin文件夹。

请注意,如果你要部署到GAC您需要注册(与强名称密钥)和版本的组件。

+2

组件在您的几个应用程序之间共享是没有理由的IMO。 – CodesInChaos 2011-05-10 11:23:34

+0

我不知道,你可以争辩和反对。企业图书馆等框架是否应该部署到GAC?我想这实际上取决于每个个案,你会同意吗? – Burt 2011-05-10 11:37:42

+1

@CodeInChaos这正是在哪里。多个应用程序共享程序集。我们可以在不同的目录(私人程序集)中复制物理副本,或者我们可以使用GAC。为什么“分享”是使用GAC的一个很好的理由? – Ian 2011-05-10 12:30:45