ASP.NET Core: Difference between revisions

Content deleted Content added
6.0 is no longer maintained
 
(220 intermediate revisions by more than 100 users not shown)
Line 1:
{{Short description|Open-source web application framework}}
:''For the current version, see: [[ASP.NET]]''
{{Infobox software
| name = ASP.NET Core
| logo = <!-- Image name is enough. -->
| logo alt =
| logo caption =
| screenshot = <!-- Image name is enough. -->
| screenshot alt =
| caption =
| collapsible = <!-- Any text here will collapse the screenshot. -->
| author = [[Microsoft]]
| developer = [[.NET Foundation]] and the open source community
| released = {{Start date and age|2016|06|07}}
| discontinued = <!-- Set to yes if software is discontinued, otherwise omit. -->
| ver layout = <!-- simple (default) or stacked -->
| latest release version = v8.0.0
| latest release date = {{Start date and age|2023|11|14|df=yes}}<ref>{{Cite web|date=2023-11-14|title=Announcing ASP.NET Core in .NET 8|url=https://devblogs.microsoft.com/dotnet/announcing-asp-net-core-in-dotnet-8/|access-date=2023-11-19|website=.NET Blog|language=en-US}}</ref>
| repo = <!-- {{URL|example.org}} -->
| programming language = [[C Sharp (programming language)|C#]]
| operating system = [[Microsoft Windows|Windows]], [[macOS]], [[Linux]]
| platform = [[Cross-platform]]
| size =
| language =
| language count = <!-- Number only -->
| language footnote =
| genre = [[Web framework]]
| license = [[MIT License]]<ref name="GHlicense">{{cite web|url=https://github.com/aspnet/AspNetCore/blob/master/LICENSE.txt| title= ASP.NET Core license|website=[[GitHub]] |access-date=2021-09-29}}</ref>
| alexa =
| website = {{URL|https://dotnet.microsoft.com/apps/aspnet}}
| standard =
| AsOf =
}}
'''ASP.NET Core''' is an open-source modular web-application framework. It is a redesign of [[ASP.NET]] that unites the previously separate [[ASP.NET MVC]] and [[ASP.NET Web API]] into a single [[programming model]].<ref>{{Cite web|url=https://docs.microsoft.com/en-us/aspnet/core/fundamentals/choose-aspnet-framework|title=Choose between ASP.NET 4.x and ASP.NET Core|website=docs.microsoft.com|date=10 April 2024 }}</ref><ref>{{cite web|last1=singh Satinder|title=Introduction to ASP.NET Core|url=https://docs.microsoft.com/en-us/aspnet/core/|website=microsoft.com|access-date=10 July 2017}}</ref> Despite being a new framework, built on a new web stack, it does have a high degree of concept compatibility with ASP.NET. The ASP.NET Core framework supports side-by-side versioning so that different applications being developed on a single machine can target different versions of ASP.NET Core. This was not possible with previous versions of ASP.NET. ASP.NET Core initially ran on both the Windows-only [[.NET Framework]] and the [[cross-platform]] [[.NET]]. However, support for the .NET Framework was dropped beginning with ASP.Net Core 3.0.<ref>{{Cite web|url=https://docs.microsoft.com/en-us/aspnet/core/|title=Introduction to ASP.NET Core|website=docs.microsoft.com}}</ref>
 
[[Blazor]] is a recent (optional) component to support [[WebAssembly]] and since version 5.0, it has dropped support for some old web browsers. While current [[Microsoft Edge]] works, the [[legacy system|legacy version]] of it, i.e. "[[Microsoft Edge|Microsoft Edge Legacy]]" and [[Internet Explorer 11]] was dropped when you use Blazor.<ref>{{Cite web|title=[Discussion] Updated Blazor browser support for .NET 5 · Issue #26475 · dotnet/aspnetcore|url=https://github.com/dotnet/aspnetcore/issues/26475|access-date=2020-11-11|website=GitHub|language=en}}</ref>
'''ASP.NET "vNext"''' is the next version of the [[ASP.NET]] [[web framework]] that is currently under [[Software development|development]]. It unites technologies like [[ASP.NET MVC]] and [[ASP.NET Web API|Web API]] into a single [[programming model]] and will be [[cross platform]].
 
== Release history ==
When ready the framework will be called '''ASP.NET 5'''.<ref>{{cite web|url=http://www.asp.net/vnext/overview/aspnet-vnext/aspnet-5-overview#unify|title=ASP.NET 5 Overview|author=Tom FitzMacken|work=The Official Microsoft ASP.NET Site|accessdate=17 January 2015}}</ref>
{| class="wikitable"
!Version Number
!Release Date
!End of Support
!Supported Visual Studio Version(s)
 
|-
|{{Version|o|1.0}}
|2016-06-27
|2019-06-27
|[[Visual Studio 2015]], [[Visual Studio 2017|2017]]
|-
|{{Version|o|1.1}}
|2016-11-18
|2019-06-27
|Visual Studio 2015, 2017
|-
|{{Version|o|2.0}}
|2017-08-14
|2018-10-01
|Visual Studio 2017
|-
|{{Version|o|2.1}} [[long-term support]]
|2018-05-30
|2021-08-21<ref>{{Cite web|url=https://github.com/dotnet/core|title=GitHub - dotnet/core: Home repository of .NET and .NET Core|date=October 20, 2019|via=GitHub}}</ref>
|Visual Studio 2017
|-
|{{Version|o|2.2}}
|2018-12-04<ref>{{Cite web|url=https://devblogs.microsoft.com/aspnet/asp-net-core-2-2-available-today/|title=ASP.NET Blog &#124; Announcing ASP.NET Core 2.2, available today!|date=December 4, 2018|website=ASP.NET Blog}}</ref>
|2019-12-23<ref name=":0">{{Cite web|url=https://dotnet.microsoft.com/platform/support/policy/dotnet-core|title=.NET Core and .NET 5 official support policy|website=Microsoft|language=en|access-date=2019-12-06}}</ref>
|Visual Studio 2017 15.9 and [[Visual Studio 2019|2019]] 16.0 preview 1
|-
|{{Version|o|3.0}}
|2019-09-23<ref>{{Cite web|url=https://devblogs.microsoft.com/aspnet/asp-net-core-and-blazor-updates-in-net-core-3-0/|title=ASP.NET Blog &#124; ASP.NET Core and Blazor updates in .NET Core 3.0|date=September 23, 2019|website=ASP.NET Blog}}</ref>
|2020-03-03<ref name=":0" />
|Visual Studio 2017 and 2019
|-
|{{Version|o|3.1}} [[long-term support]]
|2019-12-03<ref>{{Cite web|url=https://devblogs.microsoft.com/aspnet/asp-net-core-updates-in-net-core-3-1/|title=ASP.NET Core updates in .NET Core 3.1|date=December 3, 2019|website=ASP.NET Blog}}</ref>
|2022-12-03<ref name=":0" />
|Visual Studio 2019
|-
|{{Version|o|5.0}}
|2020-11-10<ref name="5.0">{{Citation|title=dotnet/aspnetcore|date=2020-11-11|url=https://github.com/dotnet/aspnetcore|publisher=.NET Platform|access-date=2020-11-11}}</ref>
|2022-05-08
|Visual Studio 2019 16.8
|-
|{{Version|o|6.0}} [[long-term support]]
|2021-11-08<ref>{{Cite web|date=2021-11-08|title=Announcing ASP.NET Core in .NET 6|url=https://devblogs.microsoft.com/dotnet/announcing-asp-net-core-in-net-6/|access-date=2021-11-19|website=.NET Blog|language=en-US}}</ref>
|2024-11-08
|Visual Studio 2022
|-
|{{Version|o|7.0}} standard-term support<ref>{{cite web |title=.NET and .NET Core Support Policy |url=https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core |website=Microsoft |access-date=2024-10-02}}</ref>
|2022-11-08<ref>{{Cite web|date=2022-11-08|title=Announcing ASP.NET Core in .NET 7|url=https://devblogs.microsoft.com/dotnet/announcing-asp-net-core-in-dotnet-7/|access-date=2024-10-02|website=.NET Blog|language=en-US}}</ref>
|2024-05-14
|Visual Studio 2022
|-
|{{Version|co|8.0}} long-term support<ref>{{cite web |title=.NET and .NET Core Support Policy |url=https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core |website=Microsoft |access-date=November 19, 2023}}</ref>
|2023-11-14<ref>{{Cite web|date=2022-11-08|title=Announcing ASP.NET Core in .NET 8|url=https://devblogs.microsoft.com/dotnet/announcing-asp-net-core-in-dotnet-8/|access-date=2023-11-19|website=.NET Blog|language=en-US}}</ref>
|2026-11-10
|Visual Studio 2022
|-
|{{Version|c|9.0}} standard-term support<ref>{{cite web |title=.NET and .NET Core Support Policy |url=https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core |website=Microsoft |access-date=November 12, 2024}}</ref>
|2024-11-12<ref>{{Cite web|date=2024-11-12|title=Announcing NET 9|url=https://devblogs.microsoft.com/dotnet/announcing-dotnet-9/|access-date=2024-11-12|website=.NET Blog|language=en-US}}</ref>
|2026-05-12
|Visual Studio 2022
|-
 
| colspan="4" |{{Version|l|show=011100}}
|}
 
== Naming ==
Originally deemed '''ASP.NET vNext''', the framework was going to be called '''ASP.NET 5''' when ready. However, in order to avoid implying it is an update to the existing ASP.NET framework, Microsoft later changed the name to ASP.NET Core at the 1.0 release.<ref>{{cite web|url=http://blogs.msdn.com/b/webdev/archive/2016/01/19/asp-net-5-is-dead-introducing-asp-net-core-1-0-and-net-core-1-0.aspx|title=ASP.NET 6 is dead - Introducing ASP.NET Core 1.0 and .NET Core 1.0|author=Jeffrey T. Fritz|work=.NET Web Development and Tools Blog|access-date=20 January 2016}}</ref>
 
== Features ==
* No-compile developer experience (i.e. compilation is continuous, so that the developer does not have to invoke the compilation command)
* Modular framework distributed as [[NuGet]] packages
* Cloud-optimized runtime
* Cloud-optimized runtime (optimized for the internet)
* Host-agnostic - runs in IIS or standalone
* Host-agnostic via [[Open Web Interface for .NET]] (OWIN) support<ref>{{cite web |title=OWIN |url=http://docs.asp.net/en/latest/fundamentals/owin.html |website=ASP.NET 0.0.1 documentation|date=17 September 2024 }}</ref><ref>{{cite web |title=Roadmap |url=https://github.com/aspnet/AspNetKatana/wiki/Roadmap |website=Github}}</ref> – runs in [[Internet Information Services|IIS]] or standalone
* KRuntime command-line utility
* A unified story for building web UI and web APIs (i.e. both the same)
* [[Open Web Interface for .NET]] (OWIN) and [http://katanaproject.codeplex.com/ Katana]<ref>{{cite web |title=OWIN |url=http://docs.asp.net/en/latest/fundamentals/owin.html |website=ASP.NET 0.0.1 documentation}}</ref><ref>{{cite web |title=Roadmap |url=http://katanaproject.codeplex.com/wikipage?title=roadmap |website=Katana Project}}</ref>
* A cloud-ready environment-based configuration system
* A lightweight and modular HTTP request pipeline
* Build and run cross-platform ASP.NET Core apps on Windows, Mac, and Linux
* Open-source and community-focused
* Side-by-side app versioning when targeting .NET
* In-built support for [[dependency injection]]
* Enhanced Security compared to Asp.Net <ref>{{cite web |title=ASP.NET vs ASP.NE CORE |url=https://wirefuture.com/post/aspnet-vs-aspnet-core |website=ASP.NET VS. ASP.NET Core: The Ultimate Showdown|date=17 February 2024 }}</ref>
 
== Components ==
* [[Entity Framework|Entity Framework (EF) Core]]
* Identity Core
* [[ASP.NET MVC|MVC]] Core
* [[ASP.NET Razor|Razor]] Core
* [[SignalR]]
* [[Blazor]]
* [[Kestrel web server]]
 
== See also ==
{{Portal|Free and open-source software}}
* [[.NET Compiler Platform]]
* [[NuGet]]
* [[Mono (software)|Mono]]
* [[Visual Studio Code]]
 
== References ==
{{reflistReflist}}
 
== External links ==
{{Wikibooks|.NET Development Foundation}}
* {{Official website}}
* [https://github.com/aspnet/home ASP.NET Core] on [[GitHub]]
 
{{.NET Framework}}
== External link ==
{{Microsoft FOSS}}
* [http://www.asp.net/vnext ASP.NET vNext]
{{Web frameworks}}
* [https://github.com/aspnet/home ASP.NET] on [[GitHub]]
 
[[Category:ASP.NET|VNext]]
[[Category:WebMicrosoft applicationfree frameworkssoftware]]
[[Category:Software using the Apache license]]
[[Category:Web frameworks]]