Как я могу исправить сборки .NET?

Если я скомпилирую проект C # дважды, я получу две сборки. Эти сборки нет точно так же (используя бинарный diff). Я могу думать о причинах, почему это так, но факт остается фактом, что источник для двух сборок идентичен.

Я заинтересован в создании патча между этими сборками и применении патча на клиентском компьютере.

Кто-нибудь знает библиотеку (желательно .NET) или инструмент, с помощью которого я могу создавать и применять патчи?

В идеале он также должен обрабатывать небольшие изменения, такие как изменение зависимостей на уровне проекта или настройка нескольких строк в источнике. Это не должно быть в состоянии справиться с более крупными изменениями, потому что я рад заменить сборки в этом случае полностью.

Обновить:

Я думаю, что немного больше информации может помочь прояснить, что яЯ получаю. Я'у меня есть сервер непрерывной интеграции, создающий мое приложение. Я изменяю версию файла и сборки, чтобы отразить номер сборки и версию I 'м здание. Я мог бы сделать это по-другому, но этот вариант мне нравится.

Это приводит к изменению ссылок на сборки при создании приложения, но яЯ счастлив с этим. Я'Теперь я занимаюсь распространением обновления до ранее выпущенной версии. Я строю обновления с помощью InstallShield. Сборки, доступные для InstallShield, уменьшены до небольших исправлений. Это не сильно увеличивает размер обновления.

В моем приложении есть несколько файлов данных, которые в основном представляют собой зашифрованные архивы, содержащие сборки. InstallShield не имеет доступа к этим сборкам или не разбирается в моем архиве. Он не знает, как расшифровать и извлечь его. Я'Я написал свою собственную программу патчей, которая находит измененные файлы в предыдущем архиве и заменяет их новой обновленной версией. В основном стратегия поиска и замены.

Один архив содержит почти сотню (и продолжает расти) этих сборок, а некоторые из этих сборок содержат большие файлы данных в качестве ресурсов. Эти сборки зависят от сборок, которые являются частью приложения. Они также компилируются во время непрерывной интеграции. Если вы не скомпилируете их во время сборки, у вас останется место для проблем зависимостиЯ не хочу пытаться справиться с этим. Каждый раз, когда я создаю патч, все эти сборки включены. Я'Теперь я смотрю на варианты уменьшения размера патча путем создания патчей для этих сборок.

Ответы на вопрос(2)

Ваш ответ на вопрос