3 ms·
Technically the restrictions already exist, just as a part of the development experience. - .NET Hot Reload is only implemented on Windows. It requires support
by nonbirithm 4y ago
Technically the restrictions already exist, just as a part of the development experience.
- .NET Hot Reload is only implemented on Windows. It requires support in the .NET runtime, which is technically possible to implement, but the team has not gotten around to implementing it for years. This doesn't have to do with the issue around MS removing the "dotnet watch" command, it's for the "Edit and Continue" feature in IDEs.[1][2]
- MS was considering deprecating Omnisharp, the open-source language server that implements C# support for VS Code, and replacing it with a closed-source version. Since the announcement, commits to omnisharp-vscode have dropped off significantly. The lack of Omnisharp would mean there would be no real open-source C# development environment for Linux anymore, since MonoDevelop was abandoned a few years ago.[3]
[1] https://youtrack.jetbrains.com/issue/RIDER-31366/EditContinue-Support-for-non-Windows-OS https://youtrack.jetbrains.com/issue/RIDER-31366/EditContinu...
[2] https://github.com/dotnet/coreclr/issues/23685 https://github.com/dotnet/coreclr/issues/23685
[3] https://github.com/omnisharp/omnisharp-vscode/issues/5276 https://github.com/omnisharp/omnisharp-vscode/issues/5276
- akira2501 4y ago> which is technically possible to implement, but the team has not gotten around to implementing it for years. My understanding is that they did in fact implement it, but then ripped that code out before the release.
- nonbirithm 4y agoI believe that issue was about "dotnet watch", which reruns the compilation when a file change is detected. EnC/Hot Reload sends new bytecode to a running process and updates classes/methods in memory. EnC has been missing from non-Windows platforms from the start. An IDE like Rider can't implement Hot Reload without support from the runtime.
- dsissitka 4y agoJust skimming the diff it looks like it was proper hot reloading. https://github.com/dotnet/sdk/pull/22262/files https://github.com/dotnet/sdk/pull/22262/files
- markmark 4y agoAs a user I honestly don't care how Microsoft license their tools. If they want to start charging for them I'll pay for them if I think they are better than the alternatives.