我想在VS2017中设置dotnet-watch
到目前为止,我可以从命令行运行命令'dotnet watch run'并且它工作正常,但有时我想使用调试器并在代码中设置一些断点
可以在VS2017中进行此设置吗? 我修改了'launchSettings.json':
"Development watch": {
"executablePath": "C:\\Program Files\\dotnet\\dotnet.exe",
"commandLineArgs": "watch run",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"applicationUrl": "http://localhost:50403/"
}
但是这不起作用 - VS2017锁定了编辑文件,这超出了目的。我得到一些奇怪的错误,所以我猜我的配置不正确。
答案 0 :(得分:0)
这不受支持,因为VS需要将其调试器附加到通过dotnet watch
(实际上dotnet run
依次)启动的子进程,即使它允许您编辑这些文件。
如果您手动运行dotnet watch run
并将VS附加到正确的进程,则编辑.cs
文件将终止旧应用程序,您将不得不重新连接。
此方案仅在VS本身具有观察并重启逻辑时才有效。
答案 1 :(得分:0)
可能您缺少commandName
参数。它应该等于Executable
。
这是适合我的配置:
"Watch": {
"commandName": "Executable",
"commandLineArgs": "watch run",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"executablePath": "C:\\Program Files\\dotnet\\dotnet.exe",
"launchBrowser": true,
"launchUrl": "http://localhost:5000"
}
要解锁文件,请尝试取消选中工具中的启用编辑并继续设置 - >选项 - >调试。 这对我有用,这是我现在唯一的问题 - 调试不起作用。它甚至会在断点处停止,但如果我尝试运行继续 - 它将抛出错误。
<强>更新强>
实际上,在我停止调试并附加到我拥有的所有dotnet
进程后,调试似乎没问题。