2010-10-11 56 views
0

我有一个程序需要一些大的(〜4或5mb)文件。每周一次,每周都会有一些新版本的这些文件进行细微的更改。大部分只是添加或删除了几行。C#:以编程方式将合并/修补程序应用于文件?

当程序启动时,如果有Internet连接,我希望程序自动更新这些文件。我不想下载文件的全部新版本,而只想下载基于客户端版本的更新文件的修补程序。

我该怎么做?

我对服务器有完全控制权。

+0

您有权访问服务器吗? (即,您可以上传(A)静态文件和/或(B)ASP.NET或其他服务器端脚本到服务器吗?) – dtb 2010-10-11 21:21:01

+0

是在服务器和客户端上安装应用程序的一个选项吗?看起来像是Mercurial的问题。 – 2010-10-11 21:26:46

回答

1

如果您不知道文件中的内容或服务器是否有设施来允许您请求差异,那么这是一个难以解决的问题。您编写的任何程序无法通过查看旧文件和新文件来确定差异,无论如何都必须下载它。

0

C#没有任何内置工具来执行此操作,但听起来您的要求并不复杂。看看如何使用Unix上的diff和ed来修补基于易于grok delta的文本文件。当然,你应该检查生成的文件是否有散列,如果不正确,可以回到完整下载。

相关问题