【发布时间】:2010-04-16 04:27:32
【问题描述】:
我是 .Net 开发的初学者。我需要询问.Net winform 部署。 如果我有 1 个 exe 文件、一些类库和第 3 方组件(DevExpress)。 我应该在客户端计算机的 GAC(全局程序集缓存)中安装这些 Dll(类库和第 3 方组件)吗? 谢谢你的解释。
【问题讨论】:
标签: c# winforms deployment
我是 .Net 开发的初学者。我需要询问.Net winform 部署。 如果我有 1 个 exe 文件、一些类库和第 3 方组件(DevExpress)。 我应该在客户端计算机的 GAC(全局程序集缓存)中安装这些 Dll(类库和第 3 方组件)吗? 谢谢你的解释。
【问题讨论】:
标签: c# winforms deployment
IMO,您应该避免将这些库安装到 GAC 中。通过避免 GAC,您可以显着简化安装过程。事实上,它可以变得如此简单,您只需将这些位从一台计算机复制到另一台计算机即可进行安装(尽管您可能有其他安装限制会阻止此操作)。
当您引用第三方库时,您可以在 Visual Studio 中单击引用并将Copy Local 设置设置为true。这会将库复制到您的 bin 文件夹中。第三方库通常会安装在 GAC 中的开发人员机器上,但对于部署,您希望系统将库复制到您的 bin 文件夹中。
【讨论】:
【讨论】:
GAC 代表Global Assembly Cache 任何.dll 您放置的所有.net assemblies 'exe' 或'dll' 都可用。因此,如果第 3 方组件可以/将用于多个项目,那么 YES 你可以安装在 GAC 我能想到的最好的例子是 Newtonsoft.Json
但由于这是一个 Windows 窗体应用程序,当您完成项目时,您必须在某处打包/部署或将其交给某人。那时你不能要求他们在GAC 中安装一些dlls,而且按照上面的例子Newtonsoft.Json 你正在使Newtonsoft.Json 可用于其他.Net 项目。
想想为什么要这样做而不是考虑自己的应用程序?
【讨论】: