https://devblogs.microsoft.com/dotnet/net-hot-reload-support-via-cli/ Skip to main content [RE1Mu3b] Microsoft .NET Blog .NET Blog .NET Blog * Home * DevBlogs * Developer + Visual Studio + Visual Studio Code + Visual Studio for Mac + DevOps + Developer support + CSE Developer + Engineering@Microsoft + Azure SDK + IoT + Command Line + Perf and Diagnostics + Dr. International + Notification Hubs + Math in Office * Technology + DirectX + PIX + SurfaceDuo + Startups + Sustainable Engineering + Windows AI Platform * Languages + C++ + Java + Java Blog in Chinese + JavaScript + PowerShell Community + PowerShell Team + Python + Q# + TypeScript + Visual Basic + Visual C# + Visual F# * .NET + .NET + .NET MAUI + Blazor + ASP.NET + NuGet + Xamarin * Platform Development + #ifdef Windows + Apps for Windows + Azure Depth Platform + Azure Government + Bing Dev Center + Microsoft Edge Dev + Microsoft Azure + Microsoft 365 Developer + Old New Thing + Windows MIDI and Music dev + Windows Search Platform * Data Development + Azure Cosmos DB + Azure Data Studio + Azure SQL + OData + Revolutions R + SQL Server Data Tools * More [ ] Search Search Cancel .NET Conf 2021 .NET Conf is coming! November 9th through the 11th is a free, three-day, virtual developer event that celebrates the major releases of the .NET development platform. Save the Date! Close .NET Hot Reload Support via CLI [png] Scott October 23rd, 2021 Last week, our blog post and the removal of the Hot Reload capability from the .NET SDK repo led to a lot of feedback from the community. First and foremost, we want to apologize. We made a mistake in executing on our decision and took longer than expected to respond back to the community. We have approved the pull request to re-enable this code path and it will be in the GA build of the .NET 6 SDK. As a team, we are committed to .NET being an open platform and doing our development in the open. The very fact that we decided to adopt an open posture by default from the start for developing the Hot Reload feature is a testament to that. That said, like any development team, from time to time we have to look at quality, time, resources to make tradeoffs while continuing to make forward progress. The vast majority of the .NET developers are using Visual Studio, and we want to make sure VS delivers the best experience for .NET 6. 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. We are always listening to our customers' feedback to deliver on their needs. Thank you for making your feedback heard. We are sorry that we made so many community members upset via this change across many parameters including timing and execution. 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. Thank you for all of your feedback and your contributions over the years. We are committed to developing .NET in the open and look forward to continuing to work closely with the community. Thank you! [png] Scott Hunter Director Program Management, .NET Follow Posted in .NET .NET Core Read next Update on .NET Hot Reload progress and Visual Studio 2022 Highlights .NET Hot Reload progress update. This includes what's new in platform support, user experiences, supported edits and more since our May 2021 blog post. We'll also cover how far we've come with Visual Studio 2022 integration. [png] Dmitry Lyalin October 20, 2021 44 comments What's new in F# 6 F# 6 is now a release candidate. Checkout all of the new features available in this release. [png] Kathleen Dollard October 19, 2021 11 comments 12 comments Leave a commentCancel reply Log in to join the discussion. * [png] Alex Lambert October 23, 2021 2:27 pm collapse this comment Thanks so much for everyone in the .NET team who made it possible to bring this back. But why are you not open about that the removal was a management decision (against the will of .NET developers) not a technical decision or where the articles wrong? Log in to Reply * [png] Kexy Biscuit October 23, 2021 2:27 pm collapse this comment Good to hear this! Log in to Reply * [png] Filip Navara October 23, 2021 2:35 pm collapse this comment Fine, that's damage control over dotnet watch. What are you going to change to prevent this from happening again? Mind you, the community loves .NET and incidents like this erode trust. It drives people away from .NET and hurts Microsoft's bottom line too. This time there was enough people to make uproar, next time there may not be. Log in to Reply + [png] Eric Pellegrini October 23, 2021 2:43 pm collapse this comment It seems like the most important thing to do is listen and respond to the community. Which is the core of what solved the issue before it was even released. Sounds like how this should work. Log in to Reply o [png] Allan Lindqvist October 23, 2021 3:08 pm collapse this comment i get what you're saying but consider this: Is removing a feature in the RC phase without even talking to the community and locking the PR "listening to the community"? sure, i agree that its good that they listened and put it back, but the problem is that it happened in the first place.. i think anyone will be hard pressed to find a member of the community saying "please remove this existing functionality from the cli and make it VS only" Log in to Reply * [png] Georg Dangl October 23, 2021 2:35 pm collapse this comment Great write up, thank you for sharing! This was a good demonstration of the open source idea - the problem was acknowledged and feedback was quickly addressed. Log in to Reply * [png] Reuben Swartz October 23, 2021 2:36 pm collapse this comment Thanks for listening we appreciate it. Log in to Reply * [png] Cory Crooks October 23, 2021 2:41 pm collapse this comment we inadvertently ended up deleting the source code instead of just not invoking that code path Does that mean the code will be there, but still not available for use from the command line? Like others, I agree this blog post was addressing a symptom, and not the real issue. Who made this (from the outside looking in, obvious business) decision, and why did they make it? Can you address the feeling now that .NET is "fully supported cross-platform, as long as that platform is Windows" I see no mention here about steps taken to ensure this won't happen again, which make me personally think someone higher up intends to try and make it (or something like it) happen again. Log in to Reply * [png] Rutger Storm October 23, 2021 2:46 pm collapse this comment I feel this blog post is mostly about doing damage control than being totally sincere. You try to make it seem that the source code was deleted by accident, but as we learned from inside sources etc. A lot of internal employees did not agree with the decision in the first place. I am happy that it got added back but lying about how it happened and keeping a hand above the responsible person head leaves a bad taste. What is going to prevent from that person trying to force his or her decision in the future? Log in to Reply * [png] Nikolai Bjorndalseter October 23, 2021 2:50 pm collapse this comment Thank you, it's nice to get some clarification on this. Although, there are still questions left unanswered. To quote: We are always listening to our customers' feedback to deliver on their needs. Why then, was the decision and the following pull request not open for discussion (locked to collaborators), and as others here mention, what was the driving factor behind this change? Management or technical? Economical, or good intentions? The original PR was rapidly merged in RC 2 of the upcoming GA, going against your own OSS policies. Some degree of trust has been lost here, maybe permanently for many. Log in to Reply * [png] Allan Lindqvist October 23, 2021 2:57 pm collapse this comment While this is great news, I think alot of damage has already been done by this even happening in the first place. There are also some things that are not addressed very well imo: So you're saying removing the code from the cli was a mistake? What about the blog post detailing these changes? it feels like a lot more than a persons finger slipped and they accidentally hit delete. Why was the PR locked? Do you mean this was a lapse in judgement by management? Was it a miscommunication? if this was just a simple mistake why did it take so long to respond? Just calling it a "mistake" is a little opaque. Microsoft has to be way more transparent to repair the damage in trust this move has made. What about dotnet watch? a person on the team (i believe) said it will not receive any new features, is this also a mistake in the sense that they misspoke? was that the plan and now its not anymore? is the plan still to not add features to dotnet watch? There has been rumors floating around about internal struggles with regards to VS features and .net sdk features. you're not denying this in this post.. please address these as well, Is Microsoft, or some parts of Microsoft trying to make visual studio a more first class citizen in the .net eco system at the expense of other platforms? Saying "we want to make sure VS delivers the best experience for .NET 6." will not reassure people who worry every other platform is second class I can absolutely understand that scope can get away from you and some features may need to be pushed, but then why not just say "dotnet watch will get hot reload in a sdk update post 6 RTM" Alot of people are like "so what" about this, but years of trust and advocacy only take a single blogpost to destroy, you have to be aware of the legacy perception that microsoft still has. People on outside or on the edge of the ecosystem will take this in when choosing the stack for upcoming projects and tipping things over for these people wont take a lot. This has real implications on peoples careers and professional reputation "I thought you said microsoft had changed?" will be a discussion that many of us will have because of this. At least give us the full and honest story. Log in to Reply + [png] Mark Murphy October 23, 2021 3:47 pm collapse this comment I think Allan you have made some very good points. As a startup founder with a tech strategy based on .NET due to Microsoft's compelling multi-platform & open-source vision, I have been a bit unnerved by what happened here. I definitely don't want to be locked into Visual Studio because I chose .NET.... Log in to Reply Relevant Links .NET Download .NET Hello World .NET Meetup Events .NET Documentation .NET API Browser .NET SDKs .NET Application Architecture Guides Web apps with ASP.NET Core Mobile apps with Xamarin.Forms Microservices with Docker Containers Modernizing existing .NET apps to the cloud Archive October 2021 September 2021 August 2021 July 2021 June 2021 May 2021 April 2021 March 2021 February 2021 January 2021 December 2020 November 2020 October 2020 September 2020 August 2020 July 2020 June 2020 May 2020 April 2020 March 2020 February 2020 January 2020 December 2019 November 2019 October 2019 September 2019 August 2019 July 2019 June 2019 May 2019 April 2019 March 2019 February 2019 January 2019 December 2018 November 2018 October 2018 September 2018 August 2018 July 2018 June 2018 May 2018 April 2018 March 2018 February 2018 January 2018 December 2017 November 2017 October 2017 September 2017 August 2017 July 2017 June 2017 May 2017 April 2017 March 2017 February 2017 January 2017 December 2016 November 2016 October 2016 September 2016 August 2016 July 2016 June 2016 May 2016 April 2016 March 2016 February 2016 January 2016 December 2015 November 2015 October 2015 September 2015 August 2015 July 2015 June 2015 May 2015 April 2015 March 2015 February 2015 January 2015 December 2014 November 2014 October 2014 September 2014 August 2014 July 2014 June 2014 May 2014 April 2014 March 2014 February 2014 January 2014 December 2013 November 2013 October 2013 September 2013 August 2013 July 2013 June 2013 May 2013 April 2013 March 2013 February 2013 January 2013 December 2012 November 2012 October 2012 September 2012 August 2012 July 2012 June 2012 May 2012 April 2012 March 2012 February 2012 January 2012 October 2011 September 2011 August 2011 June 2011 April 2011 March 2011 February 2011 January 2011 December 2010 November 2010 October 2010 September 2010 August 2010 July 2010 June 2010 May 2010 April 2010 March 2010 February 2010 December 2009 November 2009 October 2009 September 2009 August 2009 July 2009 June 2009 May 2009 April 2009 March 2009 February 2009 January 2009 December 2008 November 2008 October 2008 September 2008 August 2008 July 2008 June 2008 May 2008 April 2008 March 2008 February 2008 January 2008 December 2007 November 2007 October 2007 September 2007 August 2007 July 2007 June 2007 May 2007 April 2007 March 2007 February 2007 January 2007 December 2006 November 2006 October 2006 September 2006 August 2006 July 2006 June 2006 May 2006 April 2006 March 2006 February 2006 January 2006 October 2005 July 2005 May 2005 December 2004 November 2004 September 2004 June 2004 Topics .NET ASP.NET .NET Core ASP.NET Core .NET Framework Blazor Entity Framework C# Azure Visual Studio WPF ML.NET Performance Machine Learning F# AI Machine Learning Containers Security Community Standup SignalR .NET Internals WinForms .NET MAUI Conversations Game Development Cloud Show dotnet Lifecycle Debugging Docker WCF WebHooks Maoni Async Concurrency GC TPL Featured Apache Big Data Spark for .NET Visual Basic Static Analysis IoT Orchard Core SQL Server LOH XAML Stay informed Login Insert/edit link Close Enter the destination URL URL [ ] Link Text [ ] [ ] Open link in a new tab Or link to existing content Search [ ] No search term specified. Showing recent items. Search or use up and down arrow keys to select an item. Cancel [Add Link] Code Block x Paste your code snippet [ ] Cancel Ok What's new * Surface Pro 8 * Surface Laptop Studio * Surface Pro X * Surface Go 3 * Surface Duo 2 * Surface Pro 7+ * Windows 11 apps * HoloLens 2 Microsoft Store * Account profile * Download Center * Microsoft Store support * Returns * Order tracking * Virtual workshops and training * Microsoft Store Promise * Flexible Payments Education * Microsoft in education * Office for students * Office 365 for schools * Deals for students & parents * Microsoft Azure in education Enterprise * Azure * AppSource * Automotive * Government * Healthcare * Manufacturing * Financial services * Retail Developer * Microsoft Visual Studio * Windows Dev Center * Developer Center * Microsoft developer program * Channel 9 * Microsoft 365 Dev Center * Microsoft 365 Developer Program * Microsoft Garage Company * Careers * About Microsoft * Company news * Privacy at Microsoft * Investors * Diversity and inclusion * Accessibility * Security English (United States) * Sitemap * Contact Microsoft * Privacy * Manage cookies * Terms of use * Trademarks * Safety & eco * About our ads * (c) Microsoft 2021