1

Recently, Microsoft quietly deleted the core part of Hot Reload (hot reload) in the upcoming .NET 6, which immediately "angered" the open source .NET community and was "attacked" by open source .NET developers. .

In this regard, the outside commented that Microsoft’s move may “in order to increase the attraction of Visual Studio to drive sales”, especially for its cross-platform similar Visual Studio code, so it quietly removed the “hot reload” from the open source .NET code Flagship function.

It is understood that there are two key points of the “seismic source” of the incident: First, in the pull request in the open source .NET SDK repository on GitHub, 2500 lines of the source code of the “hot reload” function were removed from the tool named dotnet watch Second, in the blog post, the main project manager Dmitry Lyalin revealed, "We decided to start with the upcoming release of .NET 6 GA and only enable the hot reload feature through Visual Studio 2022."

In other words, the hot reload function of .NET 6.0 is limited to Windows and Visual Studio development platforms, rather than being open and available across multiple platforms.

The so-called "hot reload" function is that developers can modify the source code and change the application while the application is running, and view the results in the running application. This feature can help speed up the development process, faster than rebuilding the code, stopping the application, applying changes and then starting the code again.

Lyalin said that when hot reloading is introduced, developers can use the ".NET hot reload experience in Visual Studio 2019 version 16.11 (preview version 1) and dotnet watch command line tool in .NET 6 (preview version 4)." Use this function. "This feature is available in .NET 6 RC2 and has an online license. This version was released on October 12, before the scheduled release of .NET 6 at the .NET Conf 2021 online conference on November 9.

Microsoft's removal of the "hot reload" feature is a surprising operation at the current stage. The .NET developers were "stunned" by this, so that they submitted a "block change" request and quickly attracted A lot of industry support. One developer said: "The time has come to test whether .NET is really an OSS (open source software project)."

Microsoft removes the "hot reload function", why will the .NET community be "shocked"?

Microsoft removed the "hot reload function" operation, why is it so serious in the open source .NET view?

In this regard, the .NET community stated that although "hot reloading" is a tool function, once it is changed, it means that "the open source .NET SDK is being deliberately weakened, and the Visual Studio (a kind of simplified Versions of commercial products, including Visual Studio Code sponsored by Microsoft) are more attractive than competitors.

The point is that Microsoft did not negotiate with the .NET community for this change, which would involve the .NET Foundation in an unrecognizable crisis. The .NET community said that the core point of the question is: Does Microsoft take .NET seriously as an open source platform? Developer tools have important strategic significance for Microsoft: to attract programmers to use the platform. So to outsiders, the decision to "remove hot reload" seems strange.

At the same time, the .NET community also stated that Microsoft Cloud is the natural "destination" of .NET, because Visual Studio code is free and Microsoft’s most successful product in the history of the developer community, so compared to VisualStudio The slight impact of sales, the potential benefits of its strong support for .NET's VS Code are much greater.

The .NET community revealed that not only did Microsoft remove the hot reload feature of .NET 6.0, but the current macOS and Linux developers also removed this option. "Now this feature has really become a unique tool for Windows and Visual Studio development platforms. ".

The .NET community's "crimination" against Microsoft's operation has received support from many developers, and this topic has sparked discussion on Twitter. Someone pointed out that the deletion "occurs after RC1 and RC2 were made public... after they officially announced that the features available in RC1 will be available and supported in the final product." Some developers also asked: "If you are on a platform other than Windows How can you expect .NET to become an effective solution for cross-platform development?..."

Event follow-up:

Now that things have developed, you may have to ask, what is the opinion of the Microsoft .NET team on this incident?

According to foreign media reports, The normal evangelists have remained silent on this issue. Although Scott Hanselman, a well-known Microsoft enthusiastic development advocate, did publish an article the day before yesterday, he did not explain the reason: who knows, there may be contact.

At the same time, Lyalin also added and deleted a section titled "Update on October 21, 2021" in his post. The section reads: "To clarify, we will not use hot reloading as part of the dotnet watch tool. This feature is released. We are devoting all our energy to Visual Studio 2022. "We are not sure why this update was removed, and have solicited further comments from Microsoft.

Shortly before and after this article went live, Lyalin's blog post was updated again and the above clarification has been restored.

So, what is the ins and outs of this matter, outsiders also watch the excitement. However, in the eyes of industry insiders, this time Microsoft, in order to "prefer" Visual Studio 2022 to capture more sales, did not hesitate to turn the hot reload function of .NET 6.0 into a unique tool for Windows and Visual Studio. It will indeed cause "questioning" among peers in the open source circle.

I don’t know how the next event will develop. If you have different views on this event, please leave a message in the comment area for interaction.


MissD
955 声望40 粉丝