Разница между .Net Framework и .Net Core

Сообщение было отмечено aenye как решение

Решение

А в .NET Framework эти API, типа, не объединены?

Разница в том, что Core имеет иную архитектуру, позволяющую устанавливать на машину разные версии вреймворка (.NET Framework может быть только один на машине) или даже поставлять с вашим приложением (stand alone). Это развязывает руки разработчикам фреймворка и позволяет в разумных пределах ломать обратную совместимость в попытках привнесения существенных улучшений. Что в .NET Core и делают уже который раз. .NET Framework ставится на машину в единственном экземпляре и никаких манипуляций с обратной совместимостью быть не может.

Core кроссплатформенный уже по-настоящему. Т.е. это не Mono, развиваемое энтузиастами. На будущую поддержку WinForms и WPF эта кроссплатформенность, конечно же, не распространяется.

Так же, поскольку разработка Core шла с нуля, разрабы позволили себе изменить состав BCL и реализации GC и JIT. Напихали в фреймворк классных штук типа Span<T> и System.Buffers.*, которые поддерживаются "традиционным классами", понапихали улучшений и оптимизаций в JIT. JIT в Core, видимо, оказался довольно хорош раз его бекпортировали в недавно вышедший .NET Framework 4.8.

MS явно взяла курс на замещение .NET Framework'а более лучшим во всех отношениях решением. Начиная с .NET Core 3 этот процесс обретёт полномасштабные размеры.

Но бросать старый добрый .NET Framework не стоит. Он ещё очень долго будет жив и здоров. Если у вас куча ПО на нём, то бежать в панике и портировать не обязательно)

2