# Why You Should Migrate to .NET 5 (and why you shouldn't)

.NET 5 is the latest and greatest version of .NET from the folks over at Microsoft, and it's better than ever. *Almost* everyone should migrate.

## What's all the fuss?

Up until now, .NET has been fragmented into 4 different platforms:

 - Framework
 - Core
 - Standard
 - Xamarin

As you can imagine, this leads to issues with code compatibility, especially when developing cross-platform applications. .NET 5 is an evolution of Core which replaces the need for Standard. It provides a unified platform on which you can build any application.

 ![dotnet_new](https://dev-to-uploads.s3.amazonaws.com/i/gf33dzppdwjqq7azxdyo.png)

## Why should I care?

There are three main reasons you should switch over:
1. Unified platform helps with code reuse across multiple platforms
2. Language updates to C#, F#, and VB
3. Performance improvements across the board

## Is migrating my applications difficult?

In most cases, migrating to .NET 5 can be done in two steps:
1. Update to the latest version of the SDK (this can be done by updating VS)
2. Change the target framework in your project file (.csproj for C#).
%[https://gist.github.com/mileswatson/85517f59ee3fe7473ba6a8ad6c76a854]

Make sure to check any breaking issues before updating - [here are breaking changes for .NET Core 3.1 to .NET 5.0](https://docs.microsoft.com/en-us/dotnet/core/compatibility/3.1-5.0).

## Why shouldn't I migrate?

There are some older technologies that are no longer supported in .NET 5:
 - Web Forms
 - Windows Communication Foundation
 - Windows Workflow

Newer alternatives to these can be found on [Microsoft Docs](https://docs.microsoft.com/en-us/dotnet/core/dotnet-five#net-50-doesnt-replace-net-framework), but they may take time to implement.


#### Footnote

If you enjoyed reading this, then consider dropping a like or following me:
 - [DEV](https://dev.to/mileswatson)
 - [Hashnode](https://hashnode.com/@mileswatson)
 - [Twitter](https://twitter.com/miles__watson)
 - [Github](https://github.com/mileswatson)

I'm just starting out, so the support is greatly appreciated!

*Disclaimer - I'm a (mostly) self-taught programmer, and I use my blog to share things that I've learnt on my journey to becoming a better developer. Because of this, I apologise in advance for any inaccuracies I might have made - criticism and corrections are welcome!*
