Microsoft enraged the open source .NET community by removing the flagship open source .NET feature to boost Visual Studio’s appeal, especially against its cross-platform cousin Visual Studio Code.
The two key elements of these latest troubles are this pull request to the open source .NET SDK repository on GitHub, in which 2,500 lines of code implementing a feature called Hot Reload are removed from a tool called dotnet watch; and this blog post in which Dmitry Lyalin, Senior Program Director, revealed “We have decided that starting with the next release of .NET 6 GA, we will only enable the Hot Reload feature through Visual Studio 2022 “.
Hot Reload is a feature where developers can modify source code while an application is running, apply the changes, and see the results in the running application. This speeds up the development process because it is faster than rebuilding the code, shutting down the application, applying the changes, and then relaunching it.
When Hot Reload was introduced, Lyalin said developers could use it through the “.NET Hot Reload experience in Visual Studio 2019 version 16.11 (Preview 1) and through the dotnet watch command line tool in .NET. 6 (Preview 4 “). The functionality is in .NET 6 RC2, which has a commissioning license, and was released on October 12 ahead of .NET 6’s planned launch on November 9 during the .NET Conf 2021 online.
The removal of Hot Reload is surprising at this late stage and has been met with dismay by the .NET developers – so much so that a pull request to prevent the change was submitted and quickly garnered support. “It’s the PR that will really decide that .NET is really an OSS [open source software project] or not, ”said one developer.
Why it matters to all of us
Why so important? While Hot Reload is a tooling feature, the implication of the change is that the open source .NET SDK is deliberately crippled to apparently make Visual Studio – which is a commercial product with a scaled-down free version – more appealing than its rivals, including Microsoft sponsored Visual Studio code. The change was also made without consultation with the community, which seems deaf following the crisis concerning the .NET Foundation which has at its heart the same question: is Microsoft serious that .NET is an open platform -source?
The decision to limit the availability of Hot Reload also seems curious to outsiders. Developer tools are strategically important to a platform company like Microsoft: in simple terms, they attract programmers to the platform. Who can forget Steve Ballmer, former Microsoft CEO, and his cry of “developers, developers, developers”? Laughter we can; Yet the analyst firm Redmonk has founded its company on the “thesis that developers are the new kingmakers.”
A business-critical application can generate significant expense on Azure, and Microsoft’s cloud is a natural destination for .NET, just as Google Cloud enjoys the advertising company’s status as the inventor of Kubernetes. Visual Studio Code is free, but it’s also Microsoft’s most successful product in the developer community, and strong .NET support in VS Code has a much bigger potential benefit for Redmond than a slight impact. on sales of Visual Studio.
“Do I understand this correctly to mean that the hot reload feature that already works with dotnet watch in .NET 6 previews is removed?” Right now I can build a .NET console app, run it with dotnet watch, edit files, and have them reload automatically without restarting the app. If that goes … oof, “another developer said, while another comment asked,” How can you expect .NET to be a valid solution for cross-platform development if you actively gimp developer experience on platforms other than Windows? “
Another issue with creating a key tooling feature exclusive to Visual Studio is that it removes the option from macOS and Linux developers because Visual Studio is Windows only. Microsoft said the feature is also planned for Visual Studio Mac; but it has minimal usage compared to VS Code.
Microsoft’s reason, as far as mentioned, is that with .NET “the backlog continues to grow” suggesting that the problem is lack of resources. No one believes him, knowing that Lyalin spends most of his article pointing out how the team has made great strides in improving the functionality.
On Twitter it was Noted that the deletion “occurred after RC1 and RC2 were made public … and after they officially announced that the features available in RC1 would be available and supported in the final product.” The discussion of the infamous .NET SDK pull request was “locked down and limited to contributors,” another sign that this is something the IT giant doesn’t want to discuss.
What does the Microsoft .NET team think? Normal evangelists have been silent on the matter, although well-known and normally exuberant Microsoft developer advocate Scott Hanselman has said. post a tear last night without giving the reason: who knows, there might be a link.
Lyalin added and then deleted a section titled “October 21, 2021 update” to his post, which read: “To clarify, we are not releasing Hot Reload as a feature of the dotnet monitoring tool. energy in Visual Studio 2022. ” We’re not sure what to think about removing this update and have asked Microsoft for further comment as well. ®
Roughly or shortly after this article was published, Lyalin’s blog post was updated again to reinstate the above clarification. And it is so.