Dotnet watch 运行 - 在 "rude edit" 上强制重新加载 - .Net 6

Dotnet watch run - Force reload on "rude edit" - .Net 6

我 运行 web 项目是这样的,在开发过程中:

dotnet watch run

project/browser 在我进行更改时重新加载。太棒了!

但是,有时我会看到这个:

Unable to apply hot reload because of a rude edit.
Do you want to restart your app - Yes (y) / No (n) / Always (a) / Never (v)?

有没有我可以添加到命令行的东西,所以我强制使用 Always (a) 选项?

像这样:

dotnet watch run --AlwaysRestartOnRudeEdit

根据我的 google-fu/duckduck-fu,这样的选项不存在 - 但我想确认一下。 :)

还没有。类似的功能已合并到 .NET 6.0.2 更新中。一旦发布,就可以通过将名为 DOTNET_WATCH_RESTART_ON_RUDE_EDIT 的环境变量设置为 true.

来强制执行此行为

来源:aspnetcore issue #37190

在那之前,用户 eknkc posted 可能的解决方法 (Unix):

#!/usr/bin/env expect -f

set timeout -1
spawn dotnet watch run
expect  "Do you want to restart your app - Yes (y) / No (n) / Always (a) / Never (v)?\r"
send -- "a"
expect eof

创建环境变量 DOTNET_WATCH_RESTART_ON_RUDE_EDIT 设置为 true。 运行 dotnet watch 正常。