Description
When modernizing .NET Framework projects to .NET 8+ (or .NET 9, .NET 10, etc.), certain legacy namespaces have been split into multiple specialized packages/namespaces. Code that compiled with a single using statement in .NET Framework now requires multiple specific using statements and potentially additional NuGet packages.
This creates friction during migration because:
Build errors don't clearly indicate which new namespace/package is needed
Developers may add unnecessary using statements or packages
Package versions must match the target framework
Some types moved to completely different namespaces
More info here: https://devdiv.visualstudio.com/DevDiv/_workitems/edit/2736494/
Description
When modernizing .NET Framework projects to .NET 8+ (or .NET 9, .NET 10, etc.), certain legacy namespaces have been split into multiple specialized packages/namespaces. Code that compiled with a single using statement in .NET Framework now requires multiple specific using statements and potentially additional NuGet packages.
This creates friction during migration because:
Build errors don't clearly indicate which new namespace/package is needed
Developers may add unnecessary using statements or packages
Package versions must match the target framework
Some types moved to completely different namespaces
More info here: https://devdiv.visualstudio.com/DevDiv/_workitems/edit/2736494/