|Hot Reload Rapidly Restored After Community Feedback|
|Written by Sue Gee|
|Wednesday, 27 October 2021|
Following pressure from the open source community, the much anticipated Hot Reload capability will be in the GA build of .NET 6 SDK when it launches in November.
Hot Reload, a feature that has been available in Flutter and Dart for some years, lets developers modify source code while an application is running and immediately see the results. It speeds the development process because it is quicker than rebuilding the code, stopping the application, applying the changes, and then firing it up again.
Microsoft had announced the inclusion of Hot Reload in both Visual Studio 22 and .NET 6 and the feature was present in preview versions of both. In the case of .NET 6 it was available through the dotnet watch command-line tooling - until it was suddenly removed.
This removal was acknowledged in a blog post by Dmitry Lyalin who is Principal Program Manager, .NET responsible for Hot Reload, XAML Tooling & .NET MAUI:
October 20, 2021 (Original Text)
Throughout the last year we’ve been working to enable the best possible Hot Reload experience in Visual Studio 2022 and .NET 6. Part of our goal was to also explore making this feature available to customers through a variety of mechanisms such as bringing the full power of Hot Reload to as many .NET and C++ developers as possible when running through Visual Studio 2022 debugger, supporting Hot Reload when running .NET 6 apps without the debugger, and the very basic Hot Reload support we added to the .NET SDK tools through
As we reflect on what was accomplished, and what is still in front of us, the backlog continues to grow. ... With these considerations, we’ve decided that starting with the upcoming .NET 6 GA release, we will enable Hot Reload functionality only through Visual Studio 2022 so we can focus on providing the best experiences to the most users
He reiterated this position the following day:
Update Oct 21, 2021:
Some have noted confusion in the above message. To clarify, we are not releasing Hot Reload as a feature of the
But two days later he did an about-turn:
Update Oct 23rd, 2021:
Based on community feedback we have decided to bring back Hot Reload support to the CLI by approving the pull request to re-enable this code path and it will be in the GA build of the .NET 6 SDK.
So, faced with a pull request supported from both Microsoft and non-Microsoft developers, the code implementing the Hot Reload functionality in dotnet watch, some 2,500 lines of code, are being "undeleted" to reenable the feature. Without this reversal Hot Reload would have given the commercial Visual Studio product a competitive advantage over VS Code. This in turn would fuel the negative perception that the .NET Foundation isn't sufficiently committed to the open source philosophy and the open source community.
More details of Microsoft's response to the community over the Hot Reload issue was given by Scott Hunter, Director Program Management, .NET who apologized for removal of the capability from the .NET SDK repo continuing and confirmed that it will be restored, explaining:
With the runway getting short for the .NET 6 release and Visual Studio 2022, we chose to focus on bringing Hot Reload to VS2022 first. We made a mistake in executing on this plan in the way it was carried out. In our effort to scope, we inadvertently ended up deleting the source code instead of just not invoking that code path. We underestimated the number of developers that are dependent upon this capability in their environments across scenarios, and how the CLI was being used alongside Visual Studio to drive inner loop productivity by many.
Thanking the project's contributors for their feedback Hunter writes:
Our desire is to create an open and vibrant ecosystem for .NET. As is true with many companies, we are learning to balance the needs of OSS community and being a corporate sponsor for .NET. Sometimes we don’t get it right. When we don’t, the best we can do is learn from our mistakes and be better moving forward.
We are committed to developing .NET in the open and look forward to continuing to work closely with the community.
It is good to know that feedback from the community can indeed effect change, even if its only one pull request at a time.
or email your comment to: email@example.com
|Last Updated ( Wednesday, 27 October 2021 )|