I'm lost. What happened to ASP.NET MVC 5? - asp.net

I've been keeping my head down working on various projects and apparently Microsoft has been busy making some big changes and it's confusing the hell out of me. ASP.NET Core first came onto my radar when I installed Visual Studio 2017 last year and went to create a new project and suddenly had choices of .NET Framework, .NET Standard, and .NET Core. So I looked into them a little and saw that the latter two are, in some way, abbreviated versions of the full framework. I read this post by Scott Hanselman ASP.NET 5 is dead - Introducing ASP.NET Core 1.0 and .NET Core 1.0 I also found this, which steered me away from ASP.NET Core: Choose between ASP.NET and ASP.NET Core. My takeaway was "Core is new, you're fine to keep using the full framework." So I created a new ASP.NET MVC site using .NET Framework 4.6.2 and Microsoft.AspNet.Mvc 5.2.3.
Since creating that project, I found what seemed like some bugs in both MVC and Entity Framework only to find that the only mention of them on the web seems to be in Core and that's the only place they're being considered being fixed.
Now, today, I'm trying to look up the documentation on System.Web.Mvc.Controller and System.Web.Mvc.JsonResult and it's gone except under Core documentation. I did finally dig it up here where it says it's no longer being maintained?
I understood this much about Core and said, "ok, why should I care? I'm going to keep doing what I'm doing and check back on that when it's done." But now it seems that 4.6.2 is not even supported anymore. Can someone explain what's going on? Is my NET 4.6.2/MVC 5.2.3 project now obsolete before I'm even finished writing it? If not, why has the documentation been retired and hidden away? I'm worried some of my dependencies might not even be available for or compatible with Core.

(This answer is regularly updated whenever a new .NET announcement is made, and it has been updated with details of ASP.NET Core 3.0, .NET 3, and .NET 5)
Microsoft needs a good slapping for the amount of confusion over the past 3 years 5 years over .NET Core / DNX, ASP.NET Core, .NET Standard, .NET 5 and the rest.
(and I'm saying that as a former FTE SE in DevDiv... ("hi from building 16!"))
ASP.NET aka "System.Web" is now dead. WebForms is dead (hurrah!)
ASP.NET MVC launched in 2008 was built on-top of ASP.NET, but bypassed most of the WebForms infrastructure.
ASP.NET MVC has its own versioning separate from ASP.NET and ASP.NET Web API (and ASP.NET Core). You linked to ASP.NET MVC 5's documentation - this is not the same thing as ASP.NET 5.
ASP.NET Web API launched in 2012 is a sibling of ASP.NET MVC, in that it built on-top of ASP.NET too, but had its own class library (System.Web.Http) that didn't share much with ASP.NET MVC (System.Web.Mvc). Attempting to combine an ASP.NET Web API service with an ASP.NET MVC web-application in the same project is an exercise in pain.
ASP.NET MVC 5 was launched in 2014 as an update to ASP.NET MVC 4. It is unrelated to ASP.NET 5.
I do note that ASP.NET MVC 5 was where we had both System.Web.Mvc and Microsoft.Web.Mvc namespaces - which is confusing. Fortunately this was short-lived and irrelevant today.
ASP.NET MVC 6 was never released. It was rolled-into ASP.NET 5 which then became ASP.NET Core. Its goal was to combine ASP.NET MVC and ASP.NET Web API into a single platform.
ASP.NET Core was launched in 2016 as an improved design of ASP.NET MVC 5 but without the dependencies on System.Web.dll or any (now-legacy) IIS dependencies (e.g. the old request pipeline, IHttpHandler and IHttpModule no longer exist).
Note that ASP.NET Core's class library's root namespace is now Microsoft.AspNet and not System.Web. This was a source of confusion for me. This means that upgrading projects from ASP.NET MVC and ASP.NET WebAPI to ASP.NET Core are non-trivial, despite their fundamental architecture of Controllers and Middleware being the same.
.NET Core is a new version of the CLR and BCL which is explicitly portable and runs on Windows, Linux and macOS.
.NET Core 1.0 and .NET Core 2.0's base class libraries were considered anemic compared to the full-fat .NET Framework which is a Windows-exclusive.
With .NET Core 3.0 and the open-sourcing of WinForms, WPF and other components of .NET Framework, .NET Core is now primed as a replacement for .NET Framework in Windows for new application development.
.NET 5 will be the new name of .NET Core after .NET Core 3 is released (.NET 5 is expected around late 2020).
.NET 5 has absolutely nothing to do with ASP.NET 5.0 nor ASP.NET MVC 5.
There is no .NET Core 4 nor .NET Framework 5.0.
"ASP.NET Core in .NET" seems to be the final name for the first release of ASP.NET Core specifically targeting .NET 5 and later.
I note that "Core" is Microsoft's hot branding for the current generation of .NET platforms which work with .NET Core (i.e. they have no Windows dependencies and so are portable). (Just like how Microsoft stuck "Active" onto things in the 1990s if they used COM or ActiveX, e.g. Active Desktop, Active Channels, ActiMates, Active Directory, ActiveSync, etc).
Additionally Entity Framework Core is still lacking a lot of functionality from Entity Framework 6, this is because it's a rewrite, basically - but it will reach parity eventually.
Because there are many .NET runtimes and BCLs currently available (.NET Framework, .NET Core, UWP, Xamarin (which uses Mono), Unity and others) Microsoft introduced .NET Standard which is basically a reboot of the Portable Class Library concept: where Visual Studio projects target a known subset of common functionality instead of a specific implementation. (I just wish they'd start the version numbering from 4 to match .NET Framework instead of starting at 1.0 because that got me thinking about 2001 all over again.) - but the important part is that ASP.NET Core 1 and ASP.NET Core 2 target .NET Standard instead of .NET Core - which means that ASP.NET Core runs on top of the .NET Framework on Windows in addition to running on top of .NET Core as well.
I note that all previous .NET cross-platform compatibility techniques are now obsolete (including targeting Compact Framework subsets, Portable Class Libraries, and even "Shared Projects" in Visual Studio), as they were meant for other editions of .NET which no-longer exist, such as .NET Compact Framework, XNA, Silverlight, and Windows Phone 7's subset.
In May 2019, Microsoft announced ".NET 5". In short, the .NET Framework is being replaced with .NET Core, and the next version of .NET Core after .NET Core 3.0 will be named .NET 5). This announcement does not concern ASP.NET Core at all, other than the fact that .NET 5 will fully support ASP.NET Core 3.0 applications running on it.
Throughout the Covid-themed summer of 2020 Microsoft finalized .NET 5 and ASP.NET Core. As of October 2020, ASP.NET Core's NuGet package versions have jumped from 3.1.x to 5.0.0 - so it looks as though the next major release of ASP.NET Core will be versioned 5.x.x which suggests its release may be named "ASP.NET Core 5" though recent Microsoft blog articles suggest the name will be "ASP.NET Core for .NET 5" - though given that this whole thread was created out of the confusion over "ASP.NET MVC 5" vs "ASP.NET 5" I'm sure that naming it either "ASP.NET Core 5" or "ASP.NET Core for .NET 5" will absolutely not be confusing at all, no sir-ee-bob!
In summary:
ASP.NET MVC 5:
ASP.NET MVC 5 was a short-lived successor to ASP.NET MVC 4.
It was released alongside ASP.NET Web API 2 in 2014.
It actually ran on top of ASP.NET 4 (i.e. .NET 4.x version of System.Web.dll). Note that the entire ASP.NET MVC library is now obsolete.
ASP.NET 5 was EOL'd and rebranded as ASP.NET Core and it includes the functionality of "ASP.NET MVC 5" built-in.
ASP.NET Core 1 and ASP.NET Core 2 can run on either .NET Core (cross-platform) or .NET Framework (Windows) because it targets .NET Standard.
ASP.NET Core 3 now only runs on .NET Core 3.0.
ASP.NET Core 4 does not exist and never has.
ASP.NET Core 5 exists (as of August 2020) however its official name seems to be "ASP.NET Core for .NET 5" and it only runs on .NET 5.
All of them (in chronological order):
ASP.NET 1 - 2001. Included WebForms. Ran on .NET Framework 1.0 and 1.1. System.Web.dll.
ASP.NET 2.0 - 2005. Included WebForms. Ran on .NET Framework 2.0. System.Web.dll.
ASP.NET MVC 1 and ASP.NET MVC 2 - 2008-2009. Ran on top of ASP.NET 2.0. System.Web.Mvc.dll.
ASP.NET 4.0 - 2010. Included WebForms. Ran on .NET Framework 4.0. There was no ASP.NET 3.0. System.Web.dll.
ASP.NET MVC 3 and ASP.NET MVC 4 - 2010-2013. Ran on top of ASP.NET 4.0. System.Web.Mvc.dll.
ASP.NET Web Api 1 - 2012. Ran on top of ASP.NET 4.0. System.Web.Http.dll.
ASP.NET MVC 5 - 2013. Just another update to ASP.NET MVC. Ran on top of ASP.NET 4.0 but could also run independently without System.Web.dll under OWIN.
ASP.NET Web API 2 - 2013. Sibling to ASP.NET MVC 5. Could also run without ASP.NET 4.0 under OWIN.
ASP.NET MVC 6 - 2014-2015. Aborted after reaching Release Candidate status and rebooted as ASP.NET Core MVC 1.0 in 2016 which is the MVC and Web API component of ASP.NET Core 1.
ASP.NET 5 - 2014. Major reboot of ASP.NET described here. The main changes included merging MVC, Web Pages and Web API - and the removal of WebForms. ASP.NET 5 reached Release Candidate status but was then rebranded as ASP.NET Core. There has never been an ASP.NET 6.
ASP.NET Core 1 - 2016. Runs on either .NET Framework 4.5 or .NET Core 1.0.
.NET Core - 2016. Portable and minimal .NET runtime and class library.
.NET Standard - 2017. A way for programs to target a common set of functionality that will be present in all .NET implementations (.NET Framework 4.5 and later, .NET Core 2.0 and later, Xamarin, etc).
ASP.NET Core 2 - 2017-2018: where we are today. Runs on either .NET Framework 4.6.1 or .NET Core 2.0. (As of late 2018 there is now ASP.NET Core 2.1).
ASP.NET Core 3 - In late October 2018 Microsoft announced ASP.NET Core 3.0 will now only run on the upcoming .NET Core 3.0 (so it will no-longer run on the .NET Framework 4.7.x). This is a controversial move because it means there is now no upgrade path from ASP.NET Core 2.x to ASP.NET Core 3.x for applications that run on the .NET Framework 4.7.x because of dependencies that don't support .NET Core yet, which means there likely won't be a .NET Standard 3.0.
.NET 5 - May 2019: Microsoft announced the next version of .NET Core after .NET Core 3.1 would not be called ".NET Core 4.0" nor ".NET Core 5.0" but would jump to version number 5.0 and ditch the "Core" branding, hence ".NET 5.0".
ASP.NET Core 3.0 on .NET 5 - In the May 2019 announcement of .NET 5, Microsoft also stated that ASP.NET Core 3.0 applications will run on .NET 5. It is currently unclear if ASP.NET Core 2.x applications will be able to run unmodified on .NET 5.
ASP.NET Core vNext on .NET 5 - August 2020: With the impending release of .NET 5, Microsoft has bumped the version numbers of the NuGet packages for ASP.NET Core to 5.0.0. Microsoft has not yet formally/officially referred to this new release of ASP.NET Core as "ASP.NET Core 5", but I see it as a foregone conclusion.
ASP.NET Core for .NET 5 A more recent blog article from September 2020 suggests that Microsoft is referring to the next version of ASP.NET Core as "ASP.NET Core for .NET 5" (yes, that's a mouthful - at least it isn't as ambiguous as earlier names).
Update (September 2021): It seems that the official name is now ASP.NET Core in .NET 5, and for .NET 6 it seems they've gone with ASP.NET Core in .NET 6 as well.
Timeline and block diagram
(I got carried away making this...)

This answer will try to focus only on ASP.NET MVC 5, and as little ASP.NET Core as possible.
Product Lifecycle
Microsoft still supports this (so fortunately it is not a "short-lived" release from the other answer), and there is not yet an end-of-life announcement,
https://www.asp.net/support
Framework/Product Retirement
ASP.NET MVC 4 July 1st, 2019
ASP.NET MVC 5
So if you like, you can keep using it (like VB6 and classic ASP users, who are still being supported by Microsoft).
.NET Framework 4.5.2 and above are still fully supported if you do check Microsoft documentation on product lifecycle.
Maintenance
However, you do need to notice ASP.NET MVC 5 is on maintenance mode, as development resources are almost all on ASP.NET Core right now.
You do get,
Unpredictable patch releases from NuGet.org.
If you monitor the relevant NuGet packages, you should notice that even recently Microsoft updates them to remediate security vulnerabilities and so on.
Locked down documentation.
The notice you saw from Microsoft Docs, in fact emphasizes on the very first sentence "We’re no longer updating this content regularly." That makes perfectly sense as ASP.NET MVC 5 is rock solid so you should not expect new materials to be added any more.
Very limited bug fixes and new features.
You said "Since creating that project, I found what seemed like some bugs in both MVC and Entity Framework only to find that the only mention of them on the web seems to be in Core and that's the only place they're being considered being fixed."
Well, it really depends on what "bugs" you are talking about. Like I said earlier, security related issues are still being patched, but bugs with workarounds or functional limitation are least likely to get fixed. It is an open source project, so if you really want, you can fix the issues on your own, as last resort.
On new features side, Microsoft does backport some features from ASP.NET Core, such as dependency injection, new configuration system, to simplify migration at certain degree. But don't expect much.
Migration
Do consider migrating to ASP.NET Core if you can.

I found this fragment from the introduction to this article in Wikipedia to be a great sum up of the great answer provided here as the selected answer. The same was originated in this Microsoft's blog post: https://devblogs.microsoft.com/dotnet/introducing-net-5/
(I'll link every technology mentioned, where possible, to its own Wikipedia article, for further reading.)
Final release of ASP.NET MVC: 28 November 2018. ASP.NET Core has since been released, which unified ASP.NET, ASP.NET MVC, ASP.NET Web API, and ASP.NET Web Pages (a platform using only Razor pages). MVC 6 was abandoned due to Core and is not expected to be released. Core is currently planned to merge into ".NET 5".

Related

which version of mvc is using in asp.net core 2.0? is is MVC 6 or use different name?

which version of mvc is using in asp.net core 2.0? is is MVC 6 or use different name ?
What is .net 5?
what is .net standard ?
these questions are from an interview.plz help
The .NET Standard is a formal specification of .NET APIs that are intended to be available on all .NET implementations.https://learn.microsoft.com/en-us/dotnet/standard/net-standard .ASP.NET5.0 Is Called ASP.NET Core 1.0 and In the ASP.NET Core 1.0 release, Web API is merged with ASP.NET MVC, termed as MVC 6
They're totally unrelated. "MVC 6" was sort of like a codename for Core when it was still in early stages. ASP.NET MVC and ASP.NET Web Api are totally separate from ASP.NET Core. Now, it's just "Core". There is no "MVC" or "Web Api", because Core controllers do both functions. ASP.NET MVC and ASP.NET Web Api live on and although they will probably eventually be deprecated, they could presumably (though not likely at all) get new releases. At the very least, they'll be patched for the foreseeable future.
ASP.NET Core is a complete rewrite from the ground up. It was originally created simply to be a cross-platform alternative to ASP.NET, and I think the original plan was to keep both ASP.NET and ASP.NET Core as potential development options. However, as ASP.NET Core became more competent, it has pretty fully eclipsed ASP.NET; we now have a cross-platform framework that can run on Windows, Mac and Linux and can do virtually anything the Windows-only framework can. Therefore, why keep the Windows-only framework?
Asp.net Core 2.0 is MVC 6 and The framework is 4.6.1
To start with development you need to have VS-2017 and for 1.X you can start with VS-2015.
Please refer the below link for clear presentation of .NetCore 2.0 so that you can get good knowledge to kick start your development.
Official Asp.Net Core Documentation Url

.NET Core project add reference to .NET Framework project. Why it's possible?

I have followings projects:
.NET Core 2.0 Web Application
.NET Standard 2.0 Class library &
.NET Framework 4.5 Class Library.
I add reference of .net framework class library to asp.net core web api project. and it seems it works very well.
I am wondering why it's possible to add reference of .NET Framework class library project to ASP.NET Core Web API or MVC?
It's not supposed to allow adding only Standard or Core libraries references to Core projects?
Is this core Web project with .NET Framework class libraries references still cross platform?
UPDATE
According to Phiter comment:
"If you import a .net framework library to your project it'll no longer be cross platform, but you can do it freely if you want to. They allow it because you might want to use .net core and still be on windows."
So if this is a reason, if I want to bind my project to .NET Framework and remain on windows why I use Core Web Project from the first place?
I thought we use core projects for cross platform ability and if not, the .Net framework is not a better option?
UPDATE
mason comment:
"Nothing funny: ASP.NET Core project doesn't have to run on .NET Core. It can also be run on .NET Framework.
Just because it's called 'Core' doesn't mean they're related. They could have called it ASP.NET FancyPants and had it run on .NET Core and .NET Framework and you wouldn't be as confused. Microsoft just sucks at naming things."
UPDATE (November 12, 2018)
A first look at changes coming in ASP.NET Core 3.0 - Fully leveraging .NET Core
As announced on the .NET Blog earlier this month, .NET Framework will get fewer of the newer platform and language features that come to .NET Core moving forward, due to the in-place update nature of .NET Framework and the desire to limit changes there that might break existing applications. To ensure ASP.NET Core can fully leverage the improvements coming to .NET Core moving forward, ASP.NET Core will only run on .NET Core starting from 3.0. Moving forward, you can simply think of ASP.NET Core as being part of .NET Core.
Customers utilizing ASP.NET Core on .NET Framework today can continue to do so in a fully supported fashion using the 2.1 LTS release. Support and servicing for 2.1 will continue until at least August 21, 2021 (3 years after its declaration as an LTS release) in accordance with the .NET Core support policy.
This was just added as part of .NET Standard/Core 2.0. As long as the .NET Framework dll only references things in the .NET Standard, it will use type forwarding to the .NET Core implementations.
I do not know what made Microsoft allow referencing .net framework class library into .net core project but as a programmer, I am happy with this allowance.
You see allowing .net core application to reference .net framework libraries is useful in case you want to start with windows and are planning to go cross platform in the future.
We are in a stage where many useful open source libraries do not fully support .net core till the date of this post, masstransit is an example, so when I am developing a new software I will be using .net core project that depends on such libraries and I will update them later when they support .net core.

What is the purpose/usage of ASP.NET Web Application Core(.NET framework)?

I can find similar questions, but those answer is not clear or no answer (all answered now) that make me confuse .
Similar questions 1
Similar questions 2
Now Visual Studio has 3 Web Project template :
ASP.NET Web Application (.NET Framework) <-- old
ASP.NET Core Web Application (.NET Core) <-- new
ASP.NET Core Web Application (.NET Framework) <-- new
I know the different between .NET Core and .NET Framework.
.Net Core - can cross platform(Windows, OS X, Linux)
.NET Framework - Windows Only
Then, the problem:
If we can use .Net Core in cross platform include Windows,
Why there still need ASP.NET Core Web Application(.NET Framework)(new) ?
If only work on Windows ,
Why don't just use ASP.NET Web Application (.NET Framework)(old)? which much mature and more support.
What is the purpose/usage of ASP.NET Core Web Application (.NET Framework)(new)??
.NET Core does not have all the APIs available in .NET Framework. As a result when running on Windows you may want to target full .NET Framework instead of .NET Core in your Asp.NET Core application.
Asp.NET 4.x is still supported and it's perfectly fine to create new applications using Asp.NET 4.x.
However, the vast majority of innovation goes to Asp.NET Core. Asp.NET Core is also open source so you can actually see the code you are running, debug the code you are running and even contribute back your fixes or new features. Finally, Asp.NET Core is also much more lightweight (everything is a NuGet package and you only include what you need, not coupled to IIS - runs out-of-proces when using IIS) and much faster than ASP.NET.

What's the difference between ASP.NET 5, .NET Core, and ASP.NET Core 5? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 4 years ago.
The community reviewed whether to reopen this question 1 year ago and left it closed:
Original close reason(s) were not resolved
Improve this question
I'm confused on the distinction between these terms:
ASP.NET 5 (now renamed ASP.NET Core and released as 1.0, not 5.0)
ASP.NET Core 5
.NET Core
Can anyone briefly explain it?
ASP.NET 5 (now ASP.NET Core 1.0)
Is the next generation of ASP.NET that provides a familiar and modern framework for web and cloud scenarios. It includes the next versions of ASP.NET MVC, Web API, Web Pages and SignalR. It is a high-performance and modular design, and supports full side by side to make it seamless to migrate from on premise to the cloud. These products are actively developed by the ASP.NET team in collaboration with a community of open source developers. Together we are dedicated to creating the best possible platform for web development.
Update: It has been renamed from ASP.NET 5 to ASP.Net Core 1.0.
.NET Core:
.NET Core is the small optimized runtime that is the basis of ASP.NET Core. It currently runs on Windows, Linux, and Mac. It is a high-performance and modular design, and supports having several applications on a web server each one with its own copy of the .NET Core runtime, enabling a full side by side experience, and that will make it easy to adopt new .NET Core versions without affecting other apps, and this makes .NET Core architecture a leap forward from the current classic .NET 4.6. These products are actively developed by the .NET team and in collaboration with a community of open source developers. Together we are dedicated to improving and extending the .NET platform with new features and for new scenarios.
.NET Core has two major components. It includes a small runtime that is built from the same codebase as the .NET Framework CLR. The .NET Core runtime includes the same GC and JIT (RyuJIT), but doesn’t include features like Application Domains or Code Access Security. The runtime is delivered on NuGet, via the Microsoft.CoreCLR package.
.NET Core also includes the base class libraries. These libraries are largely the same code as the .NET Framework class libraries, but have been factored (removal of dependencies) to enable us to ship a smaller set of libraries. These libraries are shipped as System.* NuGet packages on NuGet.org.
For more information, see Introducing .NET Core
ASP.NET 5 is a new platform based on DNX (.NET Execution Environment). DNX is on duty for loading CLR. There're two kind of DNX now: for Full .NET CLR (from .NET Framework) and for CoreCLR. CoreCLR is a new cross-platform light CLR (runs on Win/Linux/Mac).
ASP.NET 5 works seamlessly on CLR/CoreCLR as DNX abstracts it from runtime being used.
IL assemblies build for old .NET still be used with new CoreCLR and DNX. So ASP.NET 5 functionality is a bunch of nuget packages.
Strictly speaking there're no such things as "asp.net core 5" and ".net core" now (as CLR != .NET). There's "ASP.NET 5 running on CoreCLR".
IMO it's better to consider "ASP.NET 5" as ".NET 5".
There is no ASP.net Core 5 yet. In fact, Microsoft decided to change the .net 5 (The version after 4.6) to a brand new name : .net Core
So the version released on June 2016 is actually .net Core 1.0
The reason why they gave it a new name is the very fundamental change they've made in it.
These fundamental changes include :
Cross platform: It works on Windows/Linux/Mac as opposed to the previous versions working only on Windows/IIS
It's fully open source now and you can see every bit of its code in GitHub.
Its performance (especially in ASP.net) is way better than the previous versions, as you can easily customize your request pipeline according to what you need (through middlewares).If you are familiar with nodejs and ExpressJs framework it's so similar to ExpressJs. In some cases it performs better than NodeJs. Have a look into this benchmark.
It's designed with a modern mindset of app development, for highly distributed cloud applications, microservices and containers (docker)
ASP.NET Core is the next version of ASP.NET MVC 5, Yes, the version number is confusing! It has gone through a few name changes. It started as ASP.NET vNext, then changed to ASP.NET 5, next was renamed to ASP.NET MVC 6 and eventually became ASP.NET Core 1.0.
The main difference between ASP.NET and ASP.NET Core are
Platform Independent Features, ASP.NET Core provides hosting in multiple platform (Win / Linux / Mac OS) hosting (Cross platform).
Introduced new lighter version of CLR and assemblies with non-dependent frameworks.
Frameworks are a complete rewrite (removal of dependencies with DI) and Its Open source Project.
Project default project template is updated with Type scripts insted of JQuery.
Improved new security features and completely decoupling for all its dependent framework.
Updated project template with angular and json based configuration & enhanced packages support with node modules.
Supports for Visual Studio IDE ( 2015 v3 + 2017 and above) & VS Code IDE.
If you are new to this, Please refer Here
By the way there is also a Mono runtime as an alternative to CoreCLR in the linux apt and Docker package. Mono is still the default when it's up to installing DNX. The whole thing about the "Core" is that it's a cross platform .net framework and at some point hosting an ASP.NET 5 app will not make use of IIS, Apache, Mono etc., but the DNX and Libuv.
.NET Core 1.0 is not the next version of .NET 4.6.2 (Full .NET Framework). If it is the next version it should have more features than the previous version. But according to Microsoft .NET Core 1.0 doesn't have some of the features .NET 4.6 got. That's why they named it as .NET Core 1.0 instead of .NET 5.
In ASP.NET Core 1.0 they are using .NET Core 1.0 as reference. That means we don't need to install .NET framework to run our ASP.NET Core 1.0 application.
You can find more updated information here.
ASP.NET Core i.e 1.0/2.0...
ASP.NET Core is an open-source, cross-platform framework for building modern, cloud-based web apps on Windows, macOS, or Linux.
ASP.NET i.e ...4.5/4.6
ASP.NET is a mature framework that provides all the services needed to build enterprise-grade, server-based web apps on Windows.
There is no such thing as ASP.NET Core 5 and .NET Core.
ASP.NET 5 is same as ASP.NET Core 1.0
Please refer to the link:
https://learn.microsoft.com/en-us/aspnet/core/choose-aspnet-framework?view=aspnetcore-2.0

Using ASP.NET MVC 4 and Web API components within a .NET f/w 4.0 and VS2010-constructed app

I'm a little confused about one thing with version levels of various .NET software components related to ASP.NET MVC and the web api. Now I know VS2012 and .NET f/w 4.5 are going RTM "real soon now", but I don't want to make that up-transition for awhile (as in 6 months or longer). I am coding a new app right now whose initial incarnation (dictated by consulting client) has to be .NET f/w 4.0 and utilizing VS2010 (yes I know you can target downwards with VS2012 but that is not an option for me in this case - as a consultant you are sometimes dictated the tools/versions etc that you MUST use for a contract). So finally to the crux of my question - I just came across an article on MSDN by Mike Wasson, written in Jan/Feb 2012 timeframe, and it looks as if he used VS2010 and .NET f/w 4.0, but demonstrating the new-ish Web API technology utilizing ASP.NET MVC 4. So it IS possible to install the ASP.NET MVC 4 component within the context of .NET f/w 4.0 and VS2010, AND utilize the Web API component? Which, if that is true, I might want to do with this particular project rather than just using ASP.NET MVC 3 (and without using the Web API stuff at all), which is what i thought I would need to do. It's just that I thought to use ASP.NET MVC 4 and/or the Web API stuff, one HAD to use .NET f/w 4.5 RC and VS2012 RC prior to Sep 12 (or their RTMs after Sep 12). Is that not correct?
You can use mvc 4 and web api with .net 4.0. You cannot use features of .net 4.5 in it but all other will work.
So it IS possible to install the ASP.NET MVC 4 component within the
context of .NET f/w 4.0 and VS2010
Of course. It's RC at the time of this writing but you could download and install it from here: http://www.asp.net/mvc/mvc4 (Download the standalone installer executable for VS2010 from here: http://www.microsoft.com/en-us/download/details.aspx?id=29935)
Even when it hits RTM you will be able to use it with VS2010. Of course you won't be able to use .NET 4.5 speicic features with VS2010 though (things like async/await).

Resources