Я немного запутался: я только что наткнулся на веб-API .NET framework 4.7.2, который ссылается на библиотеки классов .NET Core 2.2. Как это может работать?
Спасибо за любые разъяснения.
@GuruStron это устаревший проект.





Библиотеки классов .NET Core обычно не могут использоваться в проекте .NET Framework. Но если эти библиотеки созданы для .NET Standard, их можно использовать. .NET Standard — это «общий язык», который понимают и .NET Framework, и .NET Core.
Поэтому вполне вероятно, что ваши библиотеки классов .NET Core 2.2 созданы для .NET Standard и поэтому могут использоваться вашим проектом .NET Framework 4.7.2.
Я надеюсь, что это поможет вам.
Хорошо, это было так давно, и лично я не использовал эту функцию, поэтому забыл об этом: версия ASP.NET Core до 3.0 может быть нацелена на .NET Framework. Из документа Обзор ASP.NET Core: ASP.NET Core, ориентированного на .NET Framework:
ASP.NET Core 2.x может быть ориентирован на .NET Core или .NET Framework. Приложения ASP.NET Core, предназначенные для .NET Framework, не являются кроссплатформенными — они работают только в Windows. Как правило, ASP.NET Core 2.x состоит из стандартных библиотек .NET. Библиотеки, написанные с использованием .NET Standard 2.0, работают на любой платформе .NET, реализующей .NET Standard 2.0.
ASP.NET Core 2.x поддерживается в версиях .NET Framework, реализующих .NET Standard 2.0:
- Рекомендуется последняя версия .NET Framework.
- .NET Framework 4.6.1 или более поздней версии. ASP.NET Core 3.0 или более поздней версии работает только на .NET Core. Дополнительные сведения об этом изменении см. в разделе Первый взгляд на изменения, которые появятся в ASP.NET Core 3.0.
Это не. Как видно из цитаты, проект ссылается не на библиотеки .NET Core 2.2, а на библиотеки .NET Standard, поскольку ASP.NET Core ориентирован на .NET Standard.
P.S.
Я предполагаю, почему это было использовано в проекте: какая-то важная библиотека поддерживала только .NET Framework, поэтому было решено использовать эту среду выполнения.
В любом случае поддержка .NET Core 2.2 давно прекращена (23 декабря 2019 г.), как и ASP.NET Core (Пакет Microsoft.AspNetCore устарел и не обновлялся с 12 марта 2018 г.), так что, если это возможно Я настоятельно рекомендую перейти на последнюю версию ASP.NET Core (и среды выполнения .NET Core).
1) не может (но можно попробовать перенести их на .NET Standard) 2) почему вы вообще используете .NET Core 2.2? Он уже давно не поддерживается.