我们有大量的小型.NET应用程序(数百个)。许多这些应用程序使用相同的DLL。在干净地处理DLL的同时部署这些应用程序的最佳方法是什么?
我们当前的解决方案使用"仪表板"可以组织和启动其他应用程序的应用程序。它从一个文件夹获取可执行文件,从另一个文件夹获取DLL,然后将它们复制到另一个文件夹,然后从该文件夹启动该程序。这实际上工作正常,但我想知道是否有更简洁的方法吗?
一个建议是为每个应用程序创建一个单独的文件夹。这样可以保持良好和有条理,但是会产生一个明显的问题,即每个应用程序都必须拥有自己独立的DLL副本。
另一个建议是将所有应用程序与DLL一起保存在一个巨大的文件夹中。这解决了DLL问题,但你最终得到了数百个可执行文件,配置文件,DLL等,所有这些都在一个文件夹中一起刷。我无法确定为什么这会是一件坏事,除了它看似凌乱和无组织。
是否有更合适/可接受的处理这种情况的方法,或者我们是否只需要将某些东西拼凑在一起并与之一起运行?
答案 0 :(得分:0)
我认为这个解决方案很安静。这很简单。但它有一个大问题。如果您将一个dll更新为新版本怎么办?你将不得不更新每一个应用程序 - 所以你最终会遇到某种dll地狱。
您可以将dll放在GAC(全局程序集缓存)中。 GAC支持部署同一dll的多个版本。另一方面,部署将更加困难。