Porting improvements in .NET Core back to regular .NET


This PR to corefx was just merged that improves string allocations in System.Xml: https://github.com/dotnet/corefx/pull/151/files

Since this code is pretty much identical in the regular .NET (see reference source), I’d be curious to know what the process is for porting those back into regular .NET? Is this something you’re tracking internally at MSFT?


Is this something you’re tracking internally at MSFT?

Yes. It’s generally based on cost-benefit analysis, for both sides. We want to be able to improve .NET Core without being hold back by the .NET Framework. At the same time, we don’t want to make changes to .NET Core that would make interop with .NET Framework virtually impossible.

Improving .NET Framework has two major challenges:

  1. Extremely high compat bar, potentially including unspecified behavior
  2. A non-agile release model

So I think what will happen is that .NET Core will innovate much faster. On a somewhat regular, but much slower cadence, we’ll port some of the improvements to the .NET Framework.

.NET Foundation Website | Blog | Projects | Code of Conduct