Every .NET library and programming language utilize a set of elementary data types like
System.Uri. These data types form the base of all other structures including all custom written .NET libraries. All these types are hosted in a base library, which is either
The libraries which can be used with .NET Core are based on
System.Runtime core library while for the .NET Framework (the Windows component) they are based on
mscorlib. This essential difference lead to...
System.Object, mscorlib while a .NET Core library would expect
System.Runtime to the
mscorlib in the .NET Framework. This library is otherwise (nearly) empty but enables the usage of
System.Runtime based PCL libraries on the .NET Framework.
mscorlib to the
System.Runtime in a future version of .NET Core.
netstandard as a method of unification between the two core libraries.
AND out of that, countless questions on Stack Overflow.