question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Hot Reload removed from dotnet watch - Why?

See original GitHub issue

Hot Reload functionality in dotnet watch was recently deleted and it seems that Hot Reload will be VS-only going forward. I’ve been using that functionality in dotnet watch happily for a while now, and this seems like a huge step backward for .NET. Most new .NET developers aren’t using VS, and many aren’t even on Windows.

Could we get some more information on why this change was made? The linked blog post is very light on details and the PR has been locked to collaborators.

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Reactions:2833
  • Comments:273 (13 by maintainers)

github_iconTop GitHub Comments

347reactions
AnthonyMastreancommented, Oct 21, 2021

@rgwood you say you’ve been using the feature “for a while now” but it’s only been in since April/May as part of the .NET 6 previews… you’ve been using it in preview?

290reactions
rgwoodcommented, Oct 21, 2021

@LyalinDotCom was kind enough to clarify on Twitter (and to be clear, I do appreciate it; please don’t shoot the messenger):

Sorry for any confusion. To clarify, given the number of scenarios we are working on, we had to prioritize 😦. As a result, Hot Reload will not release as a feature of dotnet watch tool. We are doubling down on VS 2022 with support for VS4Mac coming later

I can certainly appreciate competing priorities, but this is still very disappointing. dotnet watch hot reload already seemed great to me, and if necessary it could have been moved behind a preview flag like other .NET 6 features (ex: generic math).

I’ve been using this feature as part of my cross-platform workflow, and I was incredibly excited for it in the broader context of the .NET ecosystem. A big part of the appeal of .NET is excellent developer tooling, but all too often that’s been lacking for developers who stray from Windows+Visual Studio. This was going to be a flagship developer experience feature that I could get other, newer .NET developers excited about.

This seems like a short-sighted decision that will harm the .NET ecosystem in the long run. I can only assume this decision is being made by people outside of the .NET team, and I hope they’re willing to reconsider the decision.

A former PM for F# said it better than I could:

It’s disappointing to see dotnet watch have the existing support it’s had for a long time now get dropped. It worked very well. Furthermore, it offered a credible .NET version of the kinds of things you see in other ecosystems (vercel/nextjs, reactjs, etc.) that are all delivered via a package manager. It’s even more disappointing looking at the source code to see that support for it was ~1-2k lines of code, and that code has now been ripped out at the last moment.

Orthogonality and cross-platform always wins in the end. The .NET team understands this. This is a clear backslide, especially because hot reload did not start out as being only for Visual Studio. I really hope this isn’t the start of a pattern.

In the meantime, the most productive development stack for me is nextjs with vercel, where I get seamless UI and sever-side hot reloading capabilities all delivered in a single NPM package. Hot reloading isn’t special anymore, it’s table stakes for modern app development. I hope the folks making these last-minute decisions realize that soon.

Read more comments on GitHub >

github_iconTop Results From Across the Web

dotnet watch command - .NET CLI
Hot reload is a feature that lets you apply changes to a running app without having to rebuild and restart it. The changes...
Read more >
Microsoft angers the .NET open source community with a ...
Microsoft has quietly removed a key part of Hot Reload in the upcoming release of .NET 6 this week, a feature that essentially...
Read more >
The Hot Reload Debacle - NET Core Tutorials
The cliff notes for what hot reload does is that it allows you to apply code changes to a running application *without* recompiling...
Read more >
Hot Reload is rubbish : r/Blazor
Hello from the future. I'm just here to inform, that almost a year later, with .NET 8 Preview, the issue is still there....
Read more >
Why is dotnet watch (with hot reloading) not working?
Notice it's still outputting "a" not "b". I'm running macOS and from the standard command line. The csproj file looks like this: <Project...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Hashnode Post

No results found