Microsoft's .NET Core 3.0 team is done with the project to port the venerable .NET Framework API to the open source platform.
Program Manager Immo Landwerth made the announcement in the form of an issue on GitHub (where else?) and stated that the gang had reached the point where it reckoned that everything needed for "modern workloads" had been ported.
From now on, we don't plan to port any more .NET Framework APIs to .NET Core. https://t.co/5EChTGgUbn— Immo Landwerth (@terrajobst) October 14, 2019
Which is to say not quite everything that currently lurks in the elderly .NET Framework.
The number of APIs ported to .NET Core 3.0 currently stands at over 120,000, just over half of all .NET Framework APIs (and up from the 18,000 that turned up in the original .NET Core 1). There are also another 62,000 APIs in .NET Core 3.0 that aren't in the .NET Framework.
All in all, the team estimates that .NET Core 3.0 has approximately 80 per cent of the .NET Framework's API surface, and that's OK.
While Microsoft is keen that new .NET applications be written using .NET Core, the vast swathe of legacy apps built with .NET Framework can stay where they are, since version 4.8 will continue to see support. It simply won't get all the new toys headed .NET Core's way.
The same goes for Web Forms, WCF sever and Windows Workflow, which have no place in the bright .NET 5 future where .NET Core 3.0 is headed.
Microsoft's hope is that the OSS community will pick up tech orphaned by the end of the porting project, in the same way that projects have sprung up to port the Windows Workflow Foundation runtime and Windows Communication Framework to .NET Core 3.0 in the form of CoreWF and CoreWCF.
To that end, the Windows giant is investigating releasing more of that .NET Framework code under the MIT licence for devs to pore over. Presumably once all the swears and sarcasm have been excised from the comments.
However, for those needing that one API to be ported, there is a glimmer of hope. Landwerth intoned: "Moving forward, we're focusing our resources on incorporating new technologies," but in response to the inevitable pleading for just one more method, he replied: "I see minor convenience APIs like
CompileToMethod still as fair game, because they can be thought of as an evolution of .NET Core."
He went on to clarify that just because an API exists in the .NET Framework does not necessarily mean it cannot be considered for adding to .NET Core, but equally there now needs to be more of a motivation than it simply being in the legacy platform.
And with a flourish, all issues labelled "port-to-core" were closed. ®