用于部署和运行时依赖关系管理的NuGet / OpenWrap

时间:2011-05-04 09:32:16

标签: c# nuget openwrap

我完全理解NuGet / OpenWrap的主要制作和设计,以及它在不久前发布后如何被采用和应用。

然而,我可以看到其他情况以另一种方式使用它。我想到的其中一件事引起了对运行时依赖性的关注。

我正在开发的企业产品套件基本上带有一个由各种服务和可选模块组成的核心。这些模块直接插入以提供特定功能,以根据要求形成独特的解决方案。这些独特的解决方案可以部署到内部,数据中心,云端,庭院等远程服务器......几乎可以在任何地方使用。

有人说错误修正和维护的更新部署是复杂的,必须手动执行,这已被证明是容易出错和笨拙的。特别是因为界面修订和其他组件必须匹配,主要部署通常需要对每个模块进行解复。

就个人而言,我不是为每个独特的解决方案创建安装程序包(MSI,Web安装程序等)的忠实粉丝,因为这样很快就会失控并且不能很好地扩展。

我想知道软件包管理器和自定义源是否可以帮助我们简化此过程。也许我正在思考错误的方向,并会欣赏评论和想法。

1 个答案:

答案 0 :(得分:1)

我们已成功完成了这项工作。可以简单地调用OpenWrap将包更新到特定目录。然后,部署应用程序就是要添加一个新的描述符和要部署的软件包,让openwrap为您解决问题。

这很有效,特别是因为OpenWrap具有系统存储库(每个用户)的概念,也可以重定向(如果您想要分区多个存储库,每个应用程序一个,或者用于测试......)。

部署新应用程序只需要添加带有关联描述符的新文件夹,或者直接将应用程序添加到系统存储库中。只需在批处理作业中运行openwrap命令行工具即可实现自动更新。

如果您想提升一级,可以通过利用OpenWrap API以及动态添加/删除包来使应用程序复合。我们有运行时程序集解析可用。