在VS2017中为.NET CORE 2.0设置dotnet-watch

时间:2017-08-24 12:04:48

标签: asp.net-core .net-core

我想在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锁定了编辑文件,这超出了目的。我得到一些奇怪的错误,所以我猜我的配置不正确。

2 个答案:

答案 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进程后,调试似乎没问题。