Планирую переезд большого проекта с .net framework 4.6.1 на .net core 3.1. Для начала, решил обновить/заменить библиотеки, которые не поддерживаются в .net core 3.1. Для анализа пакетов использую .net portability analyzer (рекомендовано майкрасофт).
В проекте используется System.ComponentModel.Composition для динамического импорта .dll.. Пробовал обновить этот пакет до максимальной версии (6.0.0) - все равно не совместима. Далее пробовал использование System.Composition и Microsoft..Composition - толку ноль, хотя написано, что поддерживется .net standard 2 и .net 6. Как можно заменить этот пакет для успешного переезда на .net core 3.1.
Помимо этого хотел узнать, есть ли смысл мигрировать на .net core 3.1, или лучше сразу на .net 5? сильно ли сложнее? Переезд необходим для поддержки linux и docker.
Мигрировать сразу на .net6. .Net core 3.1 уже устарел и мигрировать на него лишняя трата времени и сил. Вам что на 3.1, что на 6 мигрировать будет одинаково. Даже на 6 проще, так как нужный вам пакет уже поддерживается.
Если использовать System.ComponentModel.Composition, то проблем еще больше. Это Microsoft.Composition (с ним меньше всего проблем переноса), а Microsoft.Composition в зависимостях грузит System.Composition определенной версии