We are in the process of migrating our applications from .NET core 3.1 to .NET 6. We have a few class libraries that we use in our .NET core applications and some of these libraries have a dependency over Microsoft.Extensions.* packages.
During this migration process I have noticed that most of the Microsoft.Extensions.* packages use netstandard2.0 as a target framework, so they are compatible with both .net core 3.1 and .net 6. In other words, it is possible to reference Microsoft.Extensions.* packages version 6.x from a .net core 3.1 application.
Is it safe to do so ? Should I expect possible runtime issues in doing so ?
From a semantic version point of view, I would expect Microsoft.Extensions.* packages version 6.x not to be compatible with .NET core 3.1 applications, but the choice of netstandard2.0 as a target framework seems to suggest a backward compatibility.
Does anyone know if these libraries have been designed with backward compatibility in mind ?