0

100 MB の C# DLL があるとします。ここで、この DLL を更新したい場合は、ダウンロードして別の DLL を取得する必要があることがわかっている場合は、古い DLL を削除し、この新しい DLL をその場所に移動して DLL を「更新」します (アセンブリのその参照を想定しますこの DLL は DLL のバージョンを気にしません)。

変更されたすべてのクラスとアイテム (変更されたもののみ) を含むファイルを作成し、DLL を再コンパイルしてこれらの変更を加える方法、またはそれらの変更で DLL を更新する方法はありますか?

目標は、DLL 全体を再ダウンロードすることなく、小さなパッチで DLL を更新する方法を持つことです。

ありがとうございました

4

1 に答える 1

1

バージョン管理システムが使用するのと同じメカニズムを使用します。たとえば、SVNは、異なるバイナリチェックイン間の変更のみを保存し、一部のdllではmbdllを数kに変換できます。(明らかにあなたのマイレージは変わるかもしれません)

一般に、バイナリ差分はテキストほど効率的ではないため、あまり使用されませんが、一部の場合は機能します。コンパイルプロセスで生成されるものが一般的に同じであるかどうかによって、バイナリのレイアウトによって異なります。全然違う。

gnuパッチツールを使用するか、 Windows BITSのようなものを使用して、変更をプルダウンするためにクライアントにいくつかのコードが必要になります。

于 2012-08-09T21:54:32.577 に答える