Почему обновление пакета NuGet без зависимостей приводит к изменению перенаправления привязки web.config (.NET Framework)?
Я ищу некоторые разъяснения о том, почему обновление пакета NuGet «без зависимостей» в 1 проекте в SLN вызывает несколько изменений файла .config во всем решении.
Из-за сканирования уязвимостей меня попросили обновить ICSharpCode.SharpZipLib версии 0.86. Я выбрал версию 1.3.3, потому что это последняя версия, в которой указано отсутствие зависимостей. Однако после обновления во всех файлах app.config и web.config отображаются изменения в нескольких привязках Microsoft.Extensions, включая .DependencyInjection.Abstractions, .Options, .Logging.Abstractions, .Logging и .Configuration. По всей видимости, во всех случаях перенаправления привязки перешли с 2.0.0 на 2.1.1. (Конфигурация добавлялась в некоторых случаях.)
Это SLN 2007 года, включающий около 150 проектов, включая веб-сайты, службы Windows и WCF, все из которых используют различные .NET Framework начиная с версии 3.5, в основном в версии 4.7.2, некоторые в версии 8.1 и стандартной версии 2. Насколько я знаю, это SLN 2007 года. Могу сказать, что только 1 веб-сайт использует эту библиотеку ICSharpCode.SharpZipLib (по крайней мере, согласно инструменту Manage Solution NuGet Packages), но перенаправление привязки уже существовало во всех файлах .config.
Я пробовал пакет 1.0.0 (явно поддерживает стандарт 2), а также 1.3.3 (явно поддерживает стандарты 2 и 2.1), и оба хотят обновить файлы конфигурации до 2.1.1.
Есть идеи, что здесь происходит? Безопасно ли отменить все файлы конфигурации, кроме одного веб-сайта, который его использует? Это какая-то «специальная» DLL, которую необходимо включить в качестве перенаправления привязки даже в проектах, которые ее не используют?