Choosing compilation targets was a relatively straightforward operation prior to .Net Core. Developers now face several possibilities and choosing a target is not so obvious anymore. To understand the big picture in .Net Core, the key concepts are: target framework monikers and .Net Standard.
Target Framework Monikers (TFM)
The Target Framework Monikers are IDs of the type framework+version that applications target in .NET Core. Monikers can be viewed as two distinct groups: the cross-platform targets, .Net Standard, and the platform implementations such as .Net 4.6, .Net Core 1.0 and Xamarin.
The .Net Standard Library is at the center of portability in .Net Core. Its purpose is to define standard sets of APIs. These APIs, such as collections, threading and reflection, are implemented by platforms such as .Net Core, .Net 4.5, Xamarin and Mono. They are the basic building blocks developers use to create their own libraries and applications.