.NET Core and the .NET Framework have (for the most part) a subset-superset relationship. .NET Core is named “Core” since it contains the core features from the .NET Framework, for both the runtime and framework libraries. For example, .NET Core and the .NET Framework share the GC, the JIT and types such as String and List..NET Core was created so that .NET could be open source, cross platform and be used in more resource-constrained environments.Where these 2 fits with ASP.NET Like .NET, ASP.NET now also has 2 flavors.ASP.NET 4.6 ASP.NET Core 1.0 ASP.NET 4.6 is upgraded version of ASP.NET which we all are using from last 13 years. It started with 1.0 back in 2012 and now it has reached at 4.6. Applications built using ASP.NET 4.6 or prior version of ASP.NET run only on windows platform.ASP.NET Core 1.0 is completely a new platform to build cross platform applications and it was written from scrath. Read Quick summary of what’s changed in ASP.NET Core 1.0So now you can build web application using ASP.NET Core 1.0 and you can target .NET Framework 4.6 and/or .NET Core. The .NET Framework 4.6 runs on top of Windows operating system, where .NET Core 1.0 is a cross platform framework and runs on top of Windows and Non-windows operating systems. Please note that .NET Core 1.0 doesn’t have all the features and functionality of .NET Framework 4.6 (at the time of writing).