假设我有一个 100 MB 的 C# DLL。现在,如果我想更新这个 DLL,据我所知,我需要通过下载它来获取另一个 DLL,删除旧的 DLL,然后将这个新的 DLL 移动到它的位置以“更新”DLL(假设程序集的那个引用此 DLL 不关心 DLL 的版本)。
有没有办法创建一个文件,其中包含所有已更改的类和项目(仅已更改的内容)并重新编译 DLL 以进行这些更改,或者如何使用这些更改更新 DLL?
目标是通过小补丁更新 DLL,而无需重新下载整个 DLL。
谢谢你
您使用与版本控制系统相同的机制 - 例如,SVN 很高兴地只存储不同二进制签入之间的更改,以及一些可以将 mb dll 转换为几 k 的 dll。(显然你的里程可能会改变)
通常二进制差异不如文本有效,这就是它不经常使用的原因,但它可以适用于某些人 - 它取决于二进制文件的布局方式,如果编译过程产生的东西通常相同,而不是完全不同。
您需要客户端上的一些代码来拉下更改,或者使用gnu 补丁工具,或者使用类似Windows BITS的东西。