Как проект .NET Framework 4.7.2 может ссылаться на библиотеки .NET Core 2.2?

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

Спасибо за любые разъяснения.

1) не может (но можно попробовать перенести их на .NET Standard) 2) почему вы вообще используете .NET Core 2.2? Он уже давно не поддерживается.

Guru Stron 17.04.2024 17:06

@GuruStron это устаревший проект.

LNyarla 18.04.2024 08:56
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
2
119
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Библиотеки классов .NET Core обычно не могут использоваться в проекте .NET Framework. Но если эти библиотеки созданы для .NET Standard, их можно использовать. .NET Standard — это «общий язык», который понимают и .NET Framework, и .NET Core.

Поэтому вполне вероятно, что ваши библиотеки классов .NET Core 2.2 созданы для .NET Standard и поэтому могут использоваться вашим проектом .NET Framework 4.7.2.

Я надеюсь, что это поможет вам.

https://learn.microsoft.com/en-us/dotnet/standard/net-standard?tabs=net-standard-1-0#net-framework-compatibility-mode

Ответ принят как подходящий
Как это может работать?

Хорошо, это было так давно, и лично я не использовал эту функцию, поэтому забыл об этом: версия 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 Framework 4.7.2 может ссылаться на библиотеки .NET Core 2.2?

Это не. Как видно из цитаты, проект ссылается не на библиотеки .NET Core 2.2, а на библиотеки .NET Standard, поскольку ASP.NET Core ориентирован на .NET Standard.

P.S.

  1. Я предполагаю, почему это было использовано в проекте: какая-то важная библиотека поддерживала только .NET Framework, поэтому было решено использовать эту среду выполнения.

  2. В любом случае поддержка .NET Core 2.2 давно прекращена (23 декабря 2019 г.), как и ASP.NET Core (Пакет Microsoft.AspNetCore устарел и не обновлялся с 12 марта 2018 г.), так что, если это возможно Я настоятельно рекомендую перейти на последнюю версию ASP.NET Core (и среды выполнения .NET Core).

Другие вопросы по теме