Today we're thrilled to announce the release of ASP.NET Core 2.1.0! This is the latest release of our open-source and cross-platform web framework for .NET and it's now ready for production use. Get started with ASP.NET Core 2.1 today!
New features in this release include:
- SignalR – Add real-time web capabilities to your ASP.NET Core apps.
- Razor class libraries – Use Razor to build views and pages into reusable class libraries.
- Identity UI library & scaffolding – Add identity to any app and customize it to meet your needs.
- HTTPS – Enabled by default and easy to configure in production.
- Template additions to help meet some GDPR requirements – Give users control over their personal data and handle cookie consent.
- MVC functional test infrastructure – Write functional tests for your app in-memory.
- [ApiController], ActionResult<T> – Build clean and descriptive web APIs.
- IHttpClientFactory – HttpClient client as a service that you can centrally manage and configure.
- Kestrel on Sockets – Managed sockets replace libuv as Kestrel's default transport.
- Generic host builder – Generic host infrastructure decoupled from HTTP with support for DI, configuration, and logging.
- Updated SPA templates – Angular, React, and React + Redux templates have been updated to use the standard project structures and build systems for each framework (Angular CLI and create-react-app).
Check out What's New in ASP.NET Core 2.1 in the ASP.NET Core docs to learn more about these features. For a complete list of all the changes in this release, see the release notes.
ASP.NET Core 2.1.0 is available with .NET Core 2.1.0 along with Entity Framework Core 2.1.0, which you can read about in the corresponding blog posts.
Get started
You can Get started with ASP.NET Core 2.1 in 10 minutes by installing the latest .NET Core SDK and latest Visual Studio release. Then follow the tutorial instructions to create your first ASP.NET Core app.
Migrating an ASP.NET Core 2.0.x project to 2.1.0
For instructions on migrating to ASP.NET Core 2.1 see Migrating from ASP.NET Core 2.0.x project to 2.1.0 in ASP.NET Core documentation.
Deploy to Azure
ASP.NET Core 2.1 is available to be used on Azure App Service today. Publish your ASP.NET Core 2.1 app to Azure App Service.
For apps that use ASP.NET Core SignalR, configure your app to use the new Azure SignalR Service (public preview) to scale the real-time capabilities of your app.
Give feedback
We hope you enjoy using the new features and improvements in ASP.NET Core 2.1.0. If you have any questions or find any issues with this release let us know by filing issues on GitHub.
Thanks for using ASP.NET Core!

Congrats and thank you ASP team;
For version 2.2, could you PLEASE add IndentityServer4 Template into VS and be able to create a new project that uses IS4 and ASP Identity (Individual Account User) integrated? Right now, doing it manually is a mess. 🙂
Thanks!
I’m receiving 502.5 error after deploying a updated version of my application. The dotnet –info (via Kudu) shows that it isn’t update yet:
D:\home\LogFiles>dotnet –info
.NET Core SDK (reflecting any global.json):
Version: 2.1.300-rc1-008673
Commit: f5e3ddbe73
Runtime Environment:
OS Name: Windows
OS Version: 10.0.14393
OS Platform: Windows
RID: win10-x86
Base Path: D:\Program Files (x86)\dotnet\sdk\2.1.300-rc1-008673\
Host (useful for support):
Version: 2.1.0-rc1
Commit: eb9bc92051
.NET Core SDKs installed:
1.1.7 [D:\Program Files (x86)\dotnet\sdk]
1.1.8 [D:\Program Files (x86)\dotnet\sdk]
2.1.4 [D:\Program Files (x86)\dotnet\sdk]
2.1.101 [D:\Program Files (x86)\dotnet\sdk]
2.1.300-rc1-008673 [D:\Program Files (x86)\dotnet\sdk]
.NET Core runtimes installed:
Microsoft.AspNetCore.All 2.1.0-rc1-final [D:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.0-rc1-final [D:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 1.0.9 [D:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 1.0.10 [D:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 1.1.6 [D:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 1.1.7 [D:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.5 [D:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.6 [D:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.0-rc1 [D:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]
To install additional .NET Core runtimes or SDKs:
https://aka.ms/dotnet-download
The self contained publish worked (as expected)
I hope Blazor will be soon incorporated to the ASP.NET Core components and tooling (ready to use templates).
I migrated to ASP.NET Core 2.1 as specified and it works fine in debug.
But I get the following error when I try to publish:
This version of Microsoft.AspNetCore.App is only compatible with the netcoreapp2.1 target framework. Please target netcoreapp2.1 or choose a version of Microsoft.AspNetCore.App compatible with netcoreapp2.0.
I’m referencing a .NET Standard 2.0 project from the ASP.NET Core 2.1 project and from a .NET 4.7.2 project.
It’s not possible to change it to netcoreapp2.1 as it does not exist. And we cannot change this project to a ASP.NET Core project as it is referenced by a .NET 4.7.2 project.
How can this be resolved?
The Microsoft.AspNetCore.App metapackage can only be used when targeting .NET Core. If you’re targeting .NET Framework then you need to reference the individual packages that your app uses.
Really nice features !
It’s not clear though, if you added top-level (action level) parameter validation as you specified in the roadmap?
Thanks.
I am also seeing the reported in RC1 when I move to 2.1.1 – 2.1.0 works fine.
The program ‘[11004] dotnet.exe’ has exited with code -2147450730 (0x80008096).
The program ‘[11004] dotnet.exe: Program Trace’ has exited with code 0 (0x0).