Какие изменения требуют повторного развертывания зависимой сборки?

На моем рабочем месте мы развертываем внутреннее приложение, заменяя только те сборки, которые изменились (не моя идея).

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

Пока мы знаем, что любое из этих изменений в сборке потребует перекомпиляции и развертывания всех зависимых сборок:

  • Постоянные изменения
  • Изменения определения перечисления (порядок значений)
  • Тип возвращаемого значения функции изменяется, и вызывающий объект использует var (иногда)
  • Пространство имен класса изменяется на другое уже упоминаемое пространство имен.

Есть ли еще какие-то дела, которые мы упускаем? Я также открыт для аргументов, почему весь этот подход ошибочен (хотя он использовался годами).

Править Для ясности, мы всегда перекомпилируем, но развертываем только сборки, в которых были изменены исходные файлы.

Таким образом, все, что мешает компиляции, будет выбрано (изменение имени метода и т. Д.), Поскольку оно требует изменений в вызывающем коде.

7
задан Ray 3 November 2011 в 14:09
поделиться