Весь мой код находится под контролем источника, поэтому я на 100% уверен, что исходный код не изменился. Но если я дважды создаю C # DLL, их содержимое будет немного другим. Я могу воспроизвести проблему в 100% случаев, просто построив, а затем построив снова.
Похоже, что это вообще не влияет на программу, но такие инструменты, как MSIMSP, используемые для создания исправлений из двух файлов MSI, отбрасываются этими мельчайшими изменениями. Делаем патчи (для моего продукта) в 40 раз больше, чем должны быть.
Я декомпилировал обе библиотеки DLL, и информация об их сборках, классах и т. Д. Точно такая же. Файлы также имеют точно такой же размер, но, конечно же, для них разное время создания. Так что я действительно не могу понять, что изменилось.
Итак, я копнул немного глубже.
Я использовал WinDiff, чтобы найти изменения, а затем сделал перекрестные ссылки в шестнадцатеричном редакторе. WinDiff показывает изменение во второй «строке» и в строке примерно на 80% файла.
В шестнадцатеричном редакторе я вижу, что первый измененный байт - это байт 0x088 (байт 136). Кажется, это единственный измененный байт в этой «строке». Мне не удается найти второе изменение, поскольку WinDiff не сообщает мне точное смещение в байтах изменения.
Вот изображение изменений, правый файл - это содержимое более нового файла.
Кто-нибудь, знакомый с составом (C #) DLL-файлов, знает, что может означать измененный байт? Или еще лучше, как сделать так, чтобы файлы DLL оставались неизменными при их пересборке?