I searched on Google and get some knowledge as below:
- Net Core and Net Framework (4.6.*) are two different implementations of the .NET runtime, they are platform
- .NET Standard defines a set of APIs that .NET platforms agree to implement and it is NOT a runtime
So I fully understand both NET Core console app and NET 4.6.1 console app can add reference to a certain .NET Standard Library as long as they are compatible.
What confused me is that
- An Net Core 1.1 console app can add reference of a 4.6.1 class library and run well
- An 4.6.1 console app can NOT add reference to an Net Core 1.1 class library.
I tested this with VS2017 15.3, and I know there are some discuss about how to add reference to 4.6.1 dll in an Core app, but all of them are talked about old core project (that uses project.json) which is obsolete since the official RTM VS2017. Why 1 is ok while 2 is not possible?
Thanks