停止调试后,我可以让 ASP.NET Core 网站继续运行吗?

Avr*_*oel 9 asp.net visual-studio asp.net-core

我是 ASP.NET Core 的新手,并且缺少我经常使用的一项功能。

在设置新的 ASP.NET MVC 项目(Core 前)时,我将打开项目属性,然后从 Web 选项卡中取消选中“编辑并继续”复选框。这样,我就可以运行我的项目,在浏览器中浏览它,在 VS 中停止调试,它会继续运行。

这意味着我可以进行更改、重新编译和重新加载页面,而无需再次开始调试。除非我真的需要中断代码,否则这比每次更改后启动新的调试会话要快得多。

这可以在 ASP.NET Core 中完成吗?我还没有设法找到方法。

小智 15

编辑网站项目的属性(在解决方案资源管理器中右键单击并选择Properties),然后选择右侧的Debug选项卡。

Web Server Settings 下,将Hosting Model更改为Out of Process

在此处输入图片说明

现在,当调试停止时,网站应该继续在 IIS Express 中运行。

笔记:

  • 在 Visual Studio 2017 和 Visual Studio 2019 中测试
  • VS2017 的默认托管模型是“处理中”,以防您想知道。
  • 无论您是否在工具 > 选项 > 调试中选择了“启用编辑并继续”,似乎都没有区别。


Jer*_*rry 5

您可以从命令行启动 Kestel 并添加 watch 命令。在您的项目文件夹中运行命令:

dotnet watch run
Run Code Online (Sandbox Code Playgroud)

每当您在 Visual Studio 中保存文件时,手表都会自动重新启动 Web 服务器,您的页面将显示您所做的更改。

您还可以向您添加配置文件launchSettings.json并使用 Ctrl-F5 或“调试”>“不调试启动”启动配置文件。

"Dotnet Watch": {
  "executablePath": "C:\\Program Files\\dotnet\\dotnet.exe",
  "workingDirectory": "$(ProjectDir)",
  "commandLineArgs": "watch run",
  "launchUrl": "https://localhost:5001;http://localhost:5000",
  "environmentVariables": {
    "ASPNETCORE_ENVIRONMENT": "Development"
  }
}
Run Code Online (Sandbox Code Playgroud)

最后,无论如何,对我来说,您可以将它添加到您的 Visual Studio 工具中。然后,您可以在您正在处理的任何项目中使用它。

“工具 > 外部工具...”

在此处输入图片说明