AspNetCore.Docs/aspnetcore/migration/31-to-50.md

88 lines
2.6 KiB
Markdown
Raw Normal View History

---
title: Migrate from ASP.NET Core 3.1 to 5.0
author: scottaddie
description: Learn how to migrate an ASP.NET Core 3.1 project to ASP.NET Core 5.0.
ms.author: scaddie
ms.custom: mvc
ms.date: 04/28/2020
2020-05-05 01:00:16 +08:00
no-loc: [Blazor, "Identity", "Let's Encrypt", Razor, SignalR]
uid: migration/31-to-50
---
# Migrate from ASP.NET Core 3.1 to 5.0
By [Scott Addie](https://github.com/scottaddie)
This article explains how to update an existing ASP.NET Core 3.1 project to ASP.NET Core 5.0.
> [!IMPORTANT]
> ASP.NET Core 5.0 is currently in preview.
## Prerequisites
# [Visual Studio](#tab/visual-studio)
[!INCLUDE[](~/includes/net-core-prereqs-vs-5.0.md)]
# [Visual Studio Code](#tab/visual-studio-code)
[!INCLUDE[](~/includes/net-core-prereqs-vsc-5.0.md)]
# [Visual Studio for Mac](#tab/visual-studio-mac)
[!INCLUDE[](~/includes/net-core-prereqs-mac-5.0.md)]
---
## Update .NET Core SDK version in global.json
If you rely upon a [global.json](/dotnet/core/tools/global-json) file to target a specific .NET Core SDK version, update the `version` property to the .NET 5.0 SDK version that's installed. For example:
```diff
{
"sdk": {
- "version": "3.1.200"
+ "version": "5.0.100-preview.3.20216.6"
}
}
```
## Update the target framework
In the project file, update the [Target Framework Moniker (TFM)](/dotnet/standard/frameworks) to `net5.0`:
```diff
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
- <TargetFramework>netcoreapp3.1</TargetFramework>
+ <TargetFramework>net5.0</TargetFramework>
</PropertyGroup>
</Project>
```
## Update package references
In the project file, update each `Microsoft.AspNetCore.*` and `Microsoft.Extensions.*` package reference's `Version` attribute to 5.0.0 or later. For example:
```diff
<ItemGroup>
- <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="3.1.2" />
- <PackageReference Include="Microsoft.Extensions.Caching.Abstractions" Version="3.1.2" />
+ <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="5.0.0-preview.3.20215.14" />
+ <PackageReference Include="Microsoft.Extensions.Caching.Abstractions" Version="5.0.0-preview.3.20215.2" />
</ItemGroup>
```
## Update Docker images
For apps using Docker, use a base image that includes the ASP.NET Core 5.0 runtime. For example:
```bash
docker pull mcr.microsoft.com/dotnet/core/aspnet:5.0
```
## Review breaking changes
For breaking changes from .NET Core 3.1 to .NET 5.0, see [Breaking changes for migration from version 3.1 to 5.0](/dotnet/core/compatibility/3.1-5.0). ASP.NET Core and Entity Framework Core are also included in the list.