Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用ant exec启动控制台,使用realine等待不起作用_C#_Input_Ant_Console_Readline - Fatal编程技术网

C# 使用ant exec启动控制台,使用realine等待不起作用

C# 使用ant exec启动控制台,使用realine等待不起作用,c#,input,ant,console,readline,C#,Input,Ant,Console,Readline,我有一个selfHost webapi控制台,该控制台必须在执行集成测试时运行 在正常情况下,控制台以“点击回车退出…”结束。 这里我不能按enter键,所以我的想法是在最后终止进程 但当我用ant启动控制台时,我: "Launch ConsoleHost" "Hit ENTER to exit... " "Console ending ... " 我知道输入被重定向了 那么,怎样才能解决我的问题呢 在其他内容中更改Console.ReadLine() 以另一种方式调用ant exec(输入

我有一个selfHost webapi控制台,该控制台必须在执行集成测试时运行

在正常情况下,控制台以“点击回车退出…”结束。 这里我不能按enter键,所以我的想法是在最后终止进程

但当我用ant启动控制台时,我:

"Launch ConsoleHost"
"Hit ENTER to exit... "
"Console ending ... "
我知道输入被重定向了

那么,怎样才能解决我的问题呢

  • 在其他内容中更改Console.ReadLine()
  • 以另一种方式调用ant exec(输入设置为…什么)
我尝试过execspawn、并行进程、antcontrib遗忘/等待

请帮忙:)

控制台代码非常简单:

static void Main()
{
  var host = new Host();

  host.Start();
  Console.ReadLine();
  host.Stop();

  Console.Out.WriteLine("Console ending ...");
}

如何使用超时参数和环境扩展代码。退出(0),以便在ant中运行时以RC=0退出?我无法在控制台中放置一个timout:External Automation tests Environment,此控制台必须运行数天。。。。也许,如果没有参数,就没有超时。但是如何安全地逃逸…所以让Environment.exit(0)依赖于该超时参数。将超时设置为默认值=0,并且仅当超时>0时才退出。因此,它可以运行(按Enter键退出),而不进行交互(使用f.e.RC 0退出,或者如果超时,使用其他RC退出)。我唯一的问题是,我不喜欢只为解决测试问题而编写代码。。。。。但无论如何,目前这是唯一的办法:)谢谢