在 Windows 上的 Visual Studio 2017 和 2019 中,我在
Package Manager Console中运行
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
进程,但这似乎不对。终止正在运行的进程的最佳方法是什么?
运行您的项目:
dotnet 运行 > 示例日志.log &
$ dotnet run > Examplelog.log &
[1] 162
结束您的项目:
杀死162
$ kill 162
[1]+ Exit 127 dotnet run > Examplelog.log
因此使用kill[id]你可以结束你的进程。
您不需要第二个控制台,可以使用您的控制台进行其他输入(请注意,所有输出都将存储在您必须检查的Examplelog.log文件中)^^lg
由于此停止选项不起作用,这显然是一个错误。如果我需要运行
dotnet watch run
,我通常只需在 VS 之外的当前文件夹中打开命令行并从那里运行它。由于 dotnet watch run
与 Visual Studio 无关(无调试),所以这是有道理的。或者,您可以使用绿色按钮在带有调试器的 Visual Studio 中运行。但是,这意味着您无法在测试时编辑代码。
当服务已经运行时,再次应用构建命令“dotnet build”,然后再次运行命令应用,如“dotnet run” 服务将再次启动,然后您只需在终端中按 Ctrl+c 即可关闭正在运行的服务。
您应该看到类似的内容:
现在正在收听:http://localhost:5050 信息:Microsoft.Hosting.Lifetime[0] 申请开始了。按 Ctrl+C 关闭。
注意“按 Ctrl+C 关闭”