【发布时间】:2019-10-03 14:11:10
【问题描述】:
我正在尝试将控制台应用程序游戏包装到 docker 容器中,并且有必要捕捉键盘上按下的箭头键。
代码是:
public static Direction ReadInputDirection()
{
var key = Console.ReadKey(intercept: true);
switch (key.Key)
{
case ConsoleKey.UpArrow:
return Direction.Up;
case ConsoleKey.DownArrow:
return Direction.Down;
case ConsoleKey.LeftArrow:
return Direction.Left;
case ConsoleKey.RightArrow:
return Direction.Right;
default:
return Direction.Invalid;
}
}
上面的代码抛出如下异常:
未处理的异常:System.InvalidOperationException:无法读取 当任一应用程序没有控制台或控制台时的键 输入已被重定向。试试 Console.Read。在 System.ConsolePal.ReadKey(布尔截距)在 SnakeGame.Control.ReadInputDirection()
我正在使用以下命令来运行以snake-game 为镜像名称的容器。
docker run -i --name 蛇游戏蛇游戏
有没有办法解决这个问题?
【问题讨论】:
-
嗨 Rodrigo,您的代码在您的机器上运行正常吗?您可以编辑您的问题并放置您的 Dockerfile 吗?
标签: c# docker .net-core containers console-application