如何正确停止运行 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 中返回自定义错误消息

.NET core for docker

.NET跨平台之旅:探秘 dotnet run 如何运行 .NET Core 应用程序

如何运行显示控制台窗口或不基于参数参数的dotnet Core控制台应用程序?