本文介绍了在DOTNET的补丁开发的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我们开发的.NET应用程序,然后我们还创建安装在开发结束并发送安装客户端。客户端安装的安装文件。

when we develop application in .NET then we create also setup at the end of development and send the setup to client. client install the setup file.

当我们改变我们的code或在我们的应用程序添加新的功能,那么我们再次创建设置和回馈重新安装客户端。在这种情况下,如果安装文件的大小变得庞大,有没有什么办法了补丁一样,当我们在code修改,然后我们就创建了一个补丁,并给该补丁客户端?

when we change our code or add new functionality in our apps then we create setup again and give back the client to install again. in this scenario if the setup file size become huge, is there any way out like patch that when we change in our code then we just create a patch and give that patch to client?

客户端将安装该补丁将得到改变,也previous功能将是完整的应用程序。所以,我怎么可以给唯一新增加的功能或应用程序只更改部分客户端补丁的帮助。

client will install that patch will get the changes and also previous functionality will be intact in application. so how could i give the only newly added functionality or change only part in the apps to client with the help of patch.

请详细了实现这种设置发展的步骤,帮助,因为这将是非常轻的重量。

please help in detail with all the steps to implement this sort of setup development because it will be very light weight.

感谢

推荐答案

一个简单的方法(尤其是如果你是code-签名或混淆你的程序集)就是要打破你的应用成若干独立的组件(动态链接库)。然后,如果你更新code,你只需要部署实际上已经改变了集会。

One simple approach (especially if you are code-signing or obfuscating your assemblies) is to break your application up into a number of separate Assemblies (dlls). Then if you update the code, you only need to deploy the assemblies that have actually changed.

最重要的是控制依赖关系:定义了组件之间的接口很好的开头,并增加新的接口来扩展现有的功能(而不是进行重大更改现有的接口),这样就可以使有用的更改应用程序,而不必在你的补丁部署大量的组件。 (如果有很多的依赖,你会发现,作出改变的任何地方仍然需要您部署几乎所有的组件给客户,这违背了目的几分)。

The most important thing is to control the dependencies: define the interfaces between the assemblies well at the beginning, and add new interfaces to extend the existing functionality (rather than making "breaking changes" to existing interfaces) so that you can make useful changes to the application without having to deploy lots of assemblies in your patch. (If there are many dependencies you will find that making a change anywhere will still require you to deploy almost all of the assemblies to the customer, which defeats the purpose somewhat).

此方法将无法实现最紧凑的补丁可能的,但它是非常简单和容易实现 - 并且在许多情况下,它可以提供可以接受的小补丁。它还鼓励开发者认真思考如何使用好,模块化设计,以最小的依赖关系 - 所以这是值得做的(合理的),即使你在上面加一个更复杂的修补机制

This approach won't deliver the most compact patches possible, but it's extremely simple and easy to implement - and in many cases it can provide "acceptably small" patches. It also encourages developers to think hard about using good, modular designs with minimal dependencies - so it's worth doing (within reason) even if you add a more sophisticated patching mechanism on top.

如果使用的是补丁的方法我还建议定期给客户一个完整的版本,因为更多的补丁应用,对一些不同步的风险越大。 (考虑使用Windows更新的工作方式 - 操作系统正在逐步更新补丁,但每一个现在,然后微软发布了推出的所有小片成一个大补丁服务包,以及较少他们发布操作系统的全新版本用户必须重新安装从头开始)

If using a patch approach I'd also advise giving the customer a full version periodically, as the more patches you apply, the greater the risk of something getting out of sync. (Consider the way Windows Update works - The OS is incrementally updated with patches, but every now and then Microsoft issues a service pack that rolls all the small patches into one large patch, and less frequently they release a whole new version of the operating system that users must reinstall from scratch)

这篇关于在DOTNET的补丁开发的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-29 07:51