иногда все меняется, и мы можем просто обновить глобальные библиотеки, и каждое приложение, которое зависит от них, адаптируется к новому коду без необходимости перекомпиляции
Обратите внимание, что это точно одна из причин, по которой обычно избегают развертывания GAC.Если вы обновляете зависимость, и в ней содержится критическое изменение (в любом возможном случае), тогда приложения начнут случайным образом прерываться, если вы не будете контролировать это.
Обычно, еслиЧтобы обновить зависимость, необходимо развернуть повторное тестирование каждого приложения, которое зависит от этого, до развертывания обновленного приложения.Вот почему обновления зависимостей (например, через NuGet) - это осознанный выбор, который вам нужно сделать.
.NET Core избегает этого в целом, никогда не разделяя сборки между приложениями и допуская одновременное использование разных версий.Таким образом, вы можете обновлять приложения одно за другим, не затрагивая других.
Это на самом деле основная причина, по которой .NET Core был создан в первую очередь: .NET Framework поставляется с Windows и является глобальнымвещь.Все приложения всегда будут использовать одну и ту же версию фреймворка.Поэтому всякий раз, когда Microsoft выпускает обновление для .NET Framework, они должны быть невероятно осторожными, чтобы не сломать приложения.И это невероятно сложно, потому что бесчисленные приложения зависят от всех вещей в структуре.Даже исправление, возможно, очевидной ошибки может привести к поломке.
С .NET Core и параллельными зависимостями это больше не проблема, поскольку обновления не будут автоматически разрушать приложения, которые все еще зависят от старых версий.Это явный выбор разработчика, чтобы обновить приложение, поставляя новые зависимости.
Таким образом, вы должны принять это и начать разрабатывать свои приложения самостоятельно.Если у вас есть общие зависимости, рассмотрите возможность создания (частных) пакетов NuGet для них, чтобы приложения могли зависеть от них и чтобы у вас был хороший способ их правильно обновить.