Project 'ClassLibrary1.csproj' targets 'netcoreapp2.1'. It cannot be referenced by a project that targets '.NETFramework,Version=v4.7.2'

santosh kumar patro picture santosh kumar patro · Oct 31, 2018 · Viewed 27.4k times · Source

I have two class library project with the following setting:

  • ClassLibrary1 --> Target framework-->.NET Core 2.1
  • ClassLibrary2 --> Target framework-->.NET Framework 4.7.2

Now I referenced the ClassLibrary1 project in ClassLibrary2 project. It was done successfully. But on rebuilding the project I am getting an error:

Severity Code Description Project File Line Suppression State Error Project '..\ClassLibrary1\ClassLibrary1.csproj' targets 'netcoreapp2.1'. It cannot be referenced by a project that targets '.NETFramework,Version=v4.7.2'. ClassLibrary2

Can anyone help me to know the reason for this error?

Answer

Szymon Tomczyk picture Szymon Tomczyk · Oct 31, 2018

You are not able to reference:

  • .NET Core libraries from .NET Framework
  • .NET Framework libraries from .NET Core

If you want to share code between those two libraries you have to use .NET Standard libraries.

.NET Standard is a kind of interface, a versioned list of APIs that you can call, .NET Framework and .NET Core implements this standard

Please see for reference: .NET Standard