如何正确停止运行 dotnet core web 应用程序?
Posted
技术标签:
【中文标题】如何正确停止运行 dotnet core web 应用程序?【英文标题】:How to properly stop running dotnet core web application? 【发布时间】:2019-05-16 21:09:10 【问题描述】:在 Windows 上的 Visual Studio 2017 和 2019 中,我在 包管理器控制台 中运行 dotnet watch run
。它为 dotnet 核心应用程序启动了 kestrel,在控制台中自动禁用了文本编辑,并显示了一个红色按钮来停止命令执行,但该按钮不执行任何操作。此外,正在显示该消息以使用 Ctrl+C 但它也不起作用。
Now listening on: http://localhost:20436 Application started. Press Ctrl+C to shut down.
现在,当我尝试在 Visual Studio 中启动 Web 应用程序时出现错误,因为它已经在运行。
我找不到像 dotnet stop
这样的命令,只有 Ctrl+C 在这种情况下不起作用。我使用 Process Hacker 杀死了dotnet.exe
进程,但这似乎不对。杀死正在运行的进程的最佳方法是什么?
【问题讨论】:
你是如何在 Visual Studio 上打开项目的?您是否打开了解决方案,或者您是否在当前文件夹中打开了 Visual Studio 我通常要么使用调试器运行,要么从 vs 外部的命令行运行dotnet watch run
双 Ctrl+C 在 VS2019 中为我工作。
这个答案***.com/questions/38906481/… 可能会有所帮助
【参考方案1】:
由于此停止选项不起作用,这显然是一个错误。如果我需要运行dotnet watch run
,我通常只需在 VS 之外的当前文件夹中打开命令行并从那里运行它。由于 dotnet watch run
与 Visual Studio 无关(无调试),所以这是有道理的。或者,您可以使用绿色按钮在带有调试器的 Visual Studio 中运行。但是,这意味着您无法在测试时编辑代码。
【讨论】:
通常用于测试我的午餐应用程序正常方式 F5 或绿色按钮,但为了能够即时查看更新,我认为一种 Microsoft 产品可以与另一种产品完美配合。看起来目前最好的选择是在 Visual Studio 之外使用命令行。 是的,它应该是。这似乎是一个错误。我从来没有真正尝试过在 vs 中这样做 你试过这个解决方案吗? ***.com/questions/40152854/… 这不是一个错误,您只需按下停止按钮 :)【参考方案2】:运行您的项目:
dotnet 运行 > Examplelog.log &
$ dotnet run > Examplelog.log &
[1] 162
结束您的项目:
杀死 162
$ kill 162
[1]+ Exit 127 dotnet run > Examplelog.log
所以使用 kill[id] 你可以结束你的进程。
您不需要第二个控制台,并且可以将您的控制台用于其他输入(请注意,所有输出都将存储在您必须检查的 Examplelog.log 文件中)^^lg
【讨论】:
【参考方案3】:在项目名称旁边的该部分中,清除按钮旁边有一个红色按钮。我刚找到它,哈哈,我会按照黄色圆圈给你看一张照片。我也在尝试 ctrl+c LOL
【讨论】:
如原始问题所述,该按钮不起作用。我希望它最终得到修复。 是的,我遇到了同样的问题,但是那个按钮开始工作了,所以我不再遇到这个问题了,抱歉以上是关于如何正确停止运行 dotnet core web 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 FTP 发布 dotnet core web 后端?
如何在 dotnet core web api 中设置起始页?
如何在 dotnet core Web Api 中返回自定义错误消息