Нет большой разницы, поэтому библиотеки, скомпилированные с использованием .NET Standard, можно запускать в обеих средах выполнения.
Различия состоят главным образом в том, что библиотеки .NET Core полагают, что System.String происходит из System.Runtime,и библиотеки .NET Framework считают, что это исходит от mscorlib.При правильных сборках прокладок типа «вперед-назад» обе среды выполнения могут запускать библиотеки, скомпилированные для другой ... вплоть до получения исключения MissingMethodException или TypeNotFoundException, поскольку библиотека использует что-то доступное только в одной из сред выполнения (новые методы в .NET Core,или методы, не включенные в .NET Core, которые присутствуют в .NET Framework).
Различия во времени выполнения более тонкие:
- .NET Core не имеет нескольких доменов приложений на процесс
- .NET Core имеет System.Span в качестве специального типа во время выполнения для повышения производительности
- .NET Framework имеет один GAC от 4,0 до 4,8
- .NET Core поддерживает отдельныекопии Shared Frameworks для каждого выпуска исправления (для блокировки версии приложения)
- .NET Framework GAC выигрывает
- .NET Core локальный файл приложения выигрывает
- .NET Coreбольше не использует CAS / частичное доверие
- и т. д.