Development Central

Bill Sorensen's software development blog

The future of ASP.NET Core

The new ASP.NET Core 2.0 packages can no longer be used on .NET Desktop

This issue on the aspnet GitHub site has caused some controversy. So what's the deal?

ASP.NET Core 2.0 (which is not yet released) is currently targeting only .NET Core. Unless this changes, it means that the new version will not support the .NET Framework.

Some background (because the names are really confusing):

.NET Core is a cross-platform version of .NET. It is not currently feature-complete compared to .NET Framework.

.NET Framework is the Windows-based .NET we're used to. It supports everything but the kitchen sink.

ASP.NET Core is (more or less) ASP.NET MVC 6 + ASP.NET Web API with OWIN support. The latter is particularly nice for integration testing. Despite the "Core" name, it can (could) target .NET Framework or .NET Core.

This is simplified and not exact, but it's close enough IMHO.

Right now you can create a web site using the current version of ASP.NET Core (1.1) and target .NET Framework 4.x, reference existing assemblies, and deploy to IIS.

According to .NET Core Support Policy (which also covers ASP.NET Core per the FAQ), 1.1 support could end 12 months after the 2.0 release (if I'm reading this right). 2.0 may be out this month. The implication is that 1.1 support may end mid-2018 (see Scott Hanselman's comment).

So let's say you're an enterprise developer, and you need to replace a legacy ASP.NET Web Forms site. The site uses a lot of in-house and third-party DLLs, integrating with SOAP services and COTS software. What technology do you use?

A week ago I recommended ASP.NET Core 1.1 targeting the .NET Framework for just this scenario. Now I'm finding that was an unwise decision. In a year, we could end up with a site built on an unsupported technology, with potentially no migration path. All it takes is one feature that .NET Core doesn't support.

Currently, better options include ASP.NET MVC 5 and the excellent Nancy framework (which does support OWIN).

I believe this will hurt adoption of ASP.NET Core, particularly in the enterprise. My hope is that the team will reconsider, as none of this is final.

[Update: Support for ASP.NET Core 1.1 on .NET Framework will be extended until July 2019 at least. See Damian Edwards' comment.]