Visual Studio analysed: will it ever migrate from .NET Framework?

Visual Studio analysed: will it ever migrate from .NET Framework?

Microsoft’s Visual Studio IDE still runs on the legacy .NET Framework, despite being the company’s premier development tool for modern Windows applications. A new code analysis claims that migration to .NET Core looks feasible yewt challenging, and that a cross-platform version looks unlikely.

Patrick Smacchia, the creator and lead developer of the .NET static analysis tool NDepend, has analyzed the .NET assemblies used by Visual Studio, which he described as “a colossal .NET code base.” He counted 1,609 assemblies and estimates that they are compiled from around 5.8 million statements. 76.2 percent of the code is compiled against .NET Framework, while the remaining 23.8 percent is compiled against either a version of .NET Core, or .NET Standard 2.0.

Microsoft’s .NET platform began as a Windows-only framework and it is this that is now called “.NET Framework”, in contrast to .NET Core, officially called just .NET, which is open source and cross-platform. Microsoft describes .NET Framework as “actively supported, in maintenance,” whereas new features and performance improvements target .NET Core.

“Developers working on Visual Studio are somewhat frustrated with working with a framework frozen in 2019,” said Smacchia, who also notes that running on this old platform “projects an image of an outdated, legacy product to the community.”

Visual Studio uses both Windows Presentation Foundation (WPF) and Windows Forms for its user interface, and the NDepend metric view, which provides a visualization of where these frameworks are used, shows “a lack of concerted effort to limit UI dependencies to specialized projects to facilitate greater abstraction from the code,” Smacchia claimed.

Nevertheless it is his view that Visual Studio will in due course be migrated to .NET Core, since like .NET Framework, it supports native calls to the Windows API (used heavily by the IDE). “It’s reasonable to anticipate this change in the next version of Visual Studio, or the one following,” he wrote – though he did not claim any inside knowledge of Microsoft’s plans.

.NET Core is multi-platform; but this does not mean that Visual Studio would then become multi-platform. There are many reasons. WPF and Windows Forms are not cross-platform and it is not obvious what user interface framework Microsoft would use for such a venture. Further, the company already has a cross-platform editor (with many IDE-like features) in the form of Visual Studio Code, so there is no strong incentive to do this work. Visual Studio for Mac was officially retired in August 2023.

A thread on Reddit which prompted Smacchia’s post includes a developer’s comment that “my life would be so much easier if Visual Studio was cross-platform” but also that from Microsoft’s perspective it would be “a massive undertaking for little or no reward.”