如何正确停止运行dotnet core Web应用程序?

23
在Windows上的Visual Studio 2017和2019中,我在软件包管理器控制台中运行dotnet watch run。它启动了一个用于 dotnet core 应用程序的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? - Neville Nazerane
通常我要么使用调试器运行,要么在 Visual Studio 之外的命令行中运行 dotnet watch run - Neville Nazerane
2
在VS2019中,双击Ctrl+C对我很有效。 - QMaster
这个答案 https://dev59.com/ZFkT5IYBdhLWcg3wN8-W 可能会有帮助。 - surfmuggle
4个回答

0

由于此停止选项无效,显然是一个错误。如果我需要运行dotnet watch run,通常只需在当前文件夹外部打开命令行并从那里运行它。由于dotnet watch run与Visual Studio无关(没有调试),这是有道理的。或者,您可以使用绿色按钮在Visual Studio中带调试器运行。但是,这意味着您不能在测试时编辑代码。


通常为了测试,我会以正常的方式启动应用程序,即按下F5或绿色按钮,但为了能够实时看到更新,我假设一个微软产品可以与另一个无缝协作。看起来现在最好的选择是在Visual Studio之外使用命令行。 - Roman Svitukha
是的,它应该这样。这似乎是一个错误。我从未真正尝试从VS中执行此操作。 - Neville Nazerane
你尝试过这个解决方案吗?https://dev59.com/PFkS5IYBdhLWcg3wQEcU - Neville Nazerane
1
这不是一个 bug,你只需要按下停止按钮即可 :) - daddycardona

0

运行您的项目:

dotnet run > Examplelog.log &

$ dotnet run > Examplelog.log &

[1] 162


结束你的项目:

杀死 162

$ kill 162

[1]+ 退出 127 dotnet run > Examplelog.log


使用kill[id]命令可以结束进程。

您不需要第二个控制台,可以使用您的控制台进行其他输入(请注意,所有输出都将存储在Examplelog.log文件中,您需要检查)^^lg


0

当服务已经在运行时,只需再次应用构建命令 "dotnet build",然后再次运行应用程序命令,如 "dotnet run"。 服务将再次启动,然后您只需在终端中按下 Ctrl+c 来关闭正在运行的服务。


-3
在项目名称旁边的那个区域,清除按钮旁边有一个红色按钮。我刚刚发现了它,哈哈,我会给你展示一张图片,跟着黄色圆圈看。我也试过ctrl+c,哈哈。enter image description here

1
正如原问题所述,那个按钮没有起作用。我希望它最终得到修复。 - Roman Svitukha
是的,我之前也遇到了同样的问题,但是那个按钮开始正常工作了,所以我不再有这个问题了。抱歉。 - daddycardona

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