Chr*_*sto 4 .net c# assemblies
如果我两次编译一个C#项目,我会得到两个程序集.这些程序集不完全相同(使用二进制diff).我可以想到为什么会这样,但事实仍然是两个组件的来源是相同的.
我担心在这些程序集之间创建补丁,并在客户机器上应用补丁.
有谁知道我可以创建和应用补丁的库(最好是.NET)或工具?
理想情况下,它还应该处理小的更改,例如更改项目级别的依赖项或调整源代码中的几行.它不一定能够处理更大的更改,因为我很乐意在这种情况下完全替换程序集.
更新:
我认为更多的背景可能有助于澄清我所得到的.我有一个持续集成服务器构建我的应用程序.我更改文件和程序集版本以反映我正在构建的内部版本号和版本.我可以用不同的方式完成它,但这是我喜欢的选项.
这会导致在构建应用程序时更改程序集引用,但我很满意.我现在关注的是将更新分发给以前发布的版本.我使用InstallShield构建更新.InstallShield可用的程序集简化为小补丁.这些不会大幅增加更新的大小.
我的应用程序有一些数据文件,基本上是包含程序集的加密存档.InstallShield无权访问这些程序集或了解我的存档.它不知道如何解密和提取它.我编写了自己的补丁程序,它在先前的存档中找到已更改的文件,并用新的更新版本替换它们.基本上是搜索和替换策略.
一个存档包含近百个(并且正在增长)这些程序集,其中一些程序集包含大型数据文件作为资源.这些程序集依赖于作为应用程序一部分的程序集.它们也在持续集成构建期间编译.在构建期间不编译它们将为依赖性问题留下空间,我不愿意尝试管理它.每次创建补丁时,都会包含所有这些程序集.我现在正在寻找通过为这些程序集生成补丁来减少补丁大小的选项.
Ree*_*sey 12
我建议更换你的组件.补丁一直有点问题 - 至少与替换相比.汇编文件往往相当小,因此替换它们通常不是一项非常大的任务.
通常,如果源相同则组件发生变化的原因通常与少数事情之一有关.您的项目可能已更改,但更可能的是,程序集的一个引用程序集已更改.在这种情况下,您需要分发整套装配,包括引用的装配,否则您将在客户的机器上获得版本问题和破损.
创建新的可安装程序通常比尝试修补计算机更简单,更安全.
| 归档时间: |
|
| 查看次数: |
3671 次 |
| 最近记录: |