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

4

我正在尝试在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个回答

1
这是不被支持的,因为Visual Studio需要通过调试器附加到由dotnet watch启动的子进程(以及实际上dotnet run),即使它允许您编辑这些文件。 如果您手动运行dotnet watch run并将VS附加到正确的进程,则编辑.cs文件将终止旧应用程序,您将需要重新附加。 只有当VS本身具有观察和重启逻辑时,此场景才能起作用。

1
也许你缺少了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进程后,调试似乎没问题了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接