我在 v4.5.1 上编写了一个 .NET 控制台应用程序(在 C# 中)。我的Main
方法如下所示:
public static void Main(string[] args)
{
Console.CancelKeyPress += delegate
{
CancelToken.Cancel();
};
var kbTask = Task.Run(async () =>
{
while (true)
{
await ProcessCommand(Console.ReadLine());
}
}, CancelToken.Token);
kbTask.Wait(CancelToken.Token);
}
可能的命令之一(由 处理ProcessCommand
)调用一个长时间运行的进程,我希望能够通过Console.CancelKeyPress
委托使用 CTRL + C 取消该进程。
但是当我这样做时,Visual Studio 会打开一个选项卡,上面写着“mscorlib.dll 未加载”,然后什么也不做 - 控制台保持打开但无响应。
我也尝试在调试之外运行该应用程序,但我找不到可执行文件。