Проект 'ClassLibrary1.csproj' нацелен на 'netcoreapp2.1'. На него не может ссылаться проект, нацеленный на.NETFramework,Version=v4.7.2.

У меня есть два проекта библиотеки классов со следующей настройкой:

  • ClassLibrary1 -> Целевая среда ->.NET Core 2.1
  • ClassLibrary2 -> Целевая платформа ->.NET Framework 4.7.2

Теперь я ссылался на проект ClassLibrary1 в проекте ClassLibrary2. Это было сделано успешно. Но при перестройке проекта я получаю ошибку:

Код серьезности Описание Ошибка состояния подавления строки файла проекта Проект '..\ClassLibrary1\ClassLibrary1.csproj' нацелен на 'netcoreapp2.1'. На него не может ссылаться проект, нацеленный на.NETFramework,Version=v4.7.2. ClassLibrary2

Может кто-нибудь помочь мне узнать причину этой ошибки?

2 ответа

Решение

Вы не можете ссылаться на:

  • .NET Core библиотеки из.NET Framework
  • Библиотеки.NET Framework из.NET Core

Если вы хотите поделиться кодом между этими двумя библиотеками, вы должны использовать библиотеки.NET Standard.

.NET Standard - это своего рода интерфейс, версионный список API-интерфейсов, которые вы можете вызывать,.NET Framework и.NET Core реализуют этот стандарт

Пожалуйста, смотрите для справки: .NET Standard

Я изменил свою библиотеку классов таргетинга на netstandard2.0, и она прошла сборки.

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