【问题标题】:Patch development in DotNetDotNet 中的补丁开发
【发布时间】:2011-06-13 14:45:58
【问题描述】:

当我们在 .NET 中开发应用程序时,我们还会在开发结束时创建设置并将设置发送给客户端。客户端安装安装文件。

当我们更改代码或在应用程序中添加新功能时,我们会再次创建设置并返回客户端以再次安装。在这种情况下,如果安装文件变得很大,有没有办法像补丁一样,当我们更改代码时,我们只需创建一个补丁并将该补丁提供给客户端?

客户端将安装该补丁将获得更改,并且以前的功能将在应用程序中保持不变。那么我如何才能在补丁的帮助下将唯一新添加的功能或仅更改应用程序中的一部分给客户端。

请详细说明实现此类设置开发的所有步骤,因为它的重量非常轻。

谢谢

【问题讨论】:

    标签: .net deployment patch


    【解决方案1】:

    一种简单的方法(尤其是在对程序集进行代码签名或混淆时)是将应用程序分解为多个单独的程序集 (dll)。那么如果你更新代码,你只需要部署实际改变的程序集。

    最重要的是控制依赖关系:一开始就定义好程序集之间的接口,并添加新接口以扩展现有功能(而不是对现有接口进行“破坏性更改”),以便您可以无需在补丁中部署大量程序集即可对应用程序进行有用的更改。 (如果有很多依赖项,您会发现在任何地方进行更改仍然需要您将几乎所有的程序集部署给客户,这在一定程度上违背了目的)。

    这种方法无法提供最紧凑的补丁,但它非常简单且易于实施 - 在许多情况下,它可以提供“可接受的小”补丁。它还鼓励开发人员认真考虑使用具有最小依赖性的良好模块化设计 - 因此,即使您在顶部添加更复杂的修补机制,也值得(在合理范围内)这样做。

    如果使用补丁方法,我还建议定期向客户提供完整版本,因为您应用的补丁越多,出现不同步的风险就越大。 (考虑一下 Windows 更新的工作方式 - 操作系统会通过补丁进行增量更新,但 Microsoft 时不时会发布一个服务包,将所有小补丁整合为一个大补丁,并且很少发布全新版本的操作系统用户必须从头开始重新安装)

    【讨论】:

      猜你喜欢
      • 2014-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多