.NET Core Framework (curr. 1.1)
When to use
applications - (web/service) that should be able to run
(Windows, Linux and MacOS)
its runtime (
) and libraries are
- if you want to build very performant and scalable
Best performant and scalable systems
- system needs the best possible performance and scalability so you get the best responsiveness no matter how many users you have, then is where .NET Core and ASP.NET Core really shine
.NET Core is designed for CLI
- provides simple command line tools available on all supported platforms
.NET Core is
directly and officially supported by Microsoft
and will have a heavy investment moving forward.
Visual Studio Code on Mac, Linux
Even third party editors like Sublime, Emacs, VI and more work well and can get editor intellisense using the open source
.NET Core is essentially a fork of the NET Framework whose implementation is also optimized around factoring concerns.
The .NET Core platform is a new .NET stack that is optimized for open source development and agile delivery on NuGet. We’re working with the Mono community to make it great on Windows, Linux and Mac, and Microsoft will support it on all three platforms.
.NET Framework 4.x (curr 4.6.2)
When to use
Desktop apps including Windows 7 and Windows 8
Windows Forms applications
WCF services implementation
Azure’s products that still don’t support .NET Core
Need to use third party .NET libraries or NuGet packages not available for .NET Core
When not to use
running across OS platforms is a requirement for your system
In Bounded loosely-coupled services or web applications that require the best possible performance and scalability and can be implemented with .NET Core
Some long-term mission-critical and core-business subsystems/microservices
.NET Framework will be evolving and getting investment from Microsoft, it’ll be at a slower pace than with .NET Core due to its own nature (The .NET Framework is older and not designed with a modular architecture that can be evolving at a much faster pace, autonomously per NuGet package)
do not use the .NET Framework if what you want to do can be perfectly done with .NET Core, like many front-end web sites or microservices.
ASP.NET Core is a cross-platform, high-performance, open-source framework for building modern, cloud-based, Internet-connected applications.
ASP.NET 4.6 is the more mature platform. It's battle-tested and released and available today.