在GAC中为.Net安装Dll

时间:2010-04-16 04:27:32

标签: c# winforms deployment

我是.Net开发的初学者。我需要询问.Net winform部署。 如果我有1个exe文件,一些类库和第三方组件(DevExpress)。 我应该在客户端计算机的GAC(全局程序集缓存)中安装这些Dll(类库和第三方组件)吗? 谢谢你的解释。

4 个答案:

答案 0 :(得分:2)

IMO,您应该避免将这些库安装到GAC中。通过避免使用GAC,您可以使安装过程变得更加简单。实际上,它可以变得如此简单,以至于您可以简单地将位从一台计算机复制到另一台计算机以进行安装(尽管您可能有其他安装约束会阻止这种情况)。

当您引用第三方库时,您可以在Visual Studio中单击引用并将Copy Local设置为true。这会将库复制到bin文件夹中。第三方库通常会安装在GAC中的开发人员计算机上,但是对于部署,您希望系统将库复制到您的bin文件夹中。

答案 1 :(得分:0)

答案 2 :(得分:0)

这实际上取决于一些事情,但这里有更好的解释和讨论:

When should I deploy my assemblies into the GAC?

判决(以及我个人的意见)是你永远不应该的。

答案 3 :(得分:0)

GAC代表Global Assembly Cache,而您放置的任何.dll都可用于所有.net assemblies'exe'或'dll'。因此,如果第三方组件可以/将在多个项目中使用,则,您可以在GAC中安装,我能想到的最好的例子是Newtonsoft.Json

但是,由于这是Windows窗体应用程序,因此当您完成项目时,必须打包/部署在某个地方或将其交给别人。那时,您不能要求他们根据上面的示例dllsGAC中安装一些Newtonsoft.Json,而您正在使Newtonsoft.Json可用于其他.Net项目

只需考虑为什么要这么做,而不是考虑自己的应用程序?

相关问题