Интересно, можно ли пропустить переустановку пакетов, помеченных флагом requireReinstallation, в package.config, если я не получаю предупреждений при создании решения?
Не обязательно сообщать вам, безопасно ли пропустить переустановку пакетов, помеченных флагом requireReinstallation
в файле packages.config, если вы не получаете предупреждений при сборке решения, но при личной рекомендации не пропускать переустановку.
Согласно примечаниям к выпуску :
Если мы обнаружим, что какой-либо из ваших пакетов был затронут
ретаргетинг или обновление, мы немедленно выдадим ошибки сборки, чтобы
ты знаешь. В дополнение к немедленной ошибке сборки, мы также сохраняем
requireReinstallation = "true" флаг в вашем файле packages.config для всех
пакеты, которые были затронуты ретаргетингом, и каждый последующий
сборка в Visual Studio вызовет предупреждения о сборке для этих пакетов.
Это означает, что алгоритм аналогичен алгоритму, который используется для определения того, какая сборка лучше всего подходит для проекта, если пакет NuGet должен был быть установлен в проект, если у него была новая целевая среда. Если сборка отличается, NuGet считает, что требуется переустановка. Например, пакет nuget с:
Библиотека / net45
Библиотека / net46
Когда вы изменяете целевую платформу с .net 4.5 на 4.6, NuGet пометит dll под .net 46 как нуждающуюся в переустановке. Пакет содержит сборку, нацеленную на .NET 4.6, поэтому он считается более подходящим.
Если метод, на который вы ссылались из .net 46 и .net 45, совпадает, то можно пропустить переустановку пакетов, помеченных флагом requireReinstallation, но если метод отличается в .net 46 и .net 45, вам нужно переустановить этот пакет nuget.
Итак, личная рекомендация не пропускать переустановку.
Надеюсь, это поможет.