【发布时间】:2019-03-22 13:41:57
【问题描述】:
有一个非常简单的问题,但似乎无法在任何地方找到答案。我在 C# 中为 Discord 编写了一个机器人,在调试或从调试文件夹运行时,一切都按预期工作。我现在已经完成了所有功能,但是当我进行发布构建并运行 .exe 时,命令提示符窗口会闪烁并再次关闭。我知道这是代码完成执行时的常见行为,在这种情况下它会发生这种情况。然而,这是等待命令的机器人,我需要应用程序继续运行并侦听命令。
我用作程序主程序的代码是:
static void Main(string[] args) => new Program().StartAsync().GetAwaiter().GetResult();
我相信问题一定出在这里。
提前致谢
【问题讨论】:
-
尝试将其包装在
try .. catch (Exception ex) {Console.WriteLine(ex);}中并在最后执行Console.ReadLine()以便您的程序等待 Enter 键。 -
您需要引入一个循环,该循环将以某种退出条件运行。就像
quit命令一样。循环可能会检查quitRequested布尔值是否保持为假,并将quit命令设置为quitRequested为真。 -
@xmedeko 这只会让控制台窗口保持打开状态。它不会继续运行应用程序并继续侦听命令。
-
我相信这会阻止机器人完全运行。它正在通过 Discord Web 套接字侦听命令,没有任何内容输入到控制台
-
@LewsTherin 我会试一试