Приложение ReadKey InvalidOperationException не имеет консолиC#

Место общения программистов C#
Ответить
Anonymous
 Приложение ReadKey InvalidOperationException не имеет консоли

Сообщение Anonymous »

Я пытаюсь использовать ReadKey(), чтобы получить поле пароля, чтобы оно не отображалось в консоли основного приложения .net, которое я запускаю в Ubuntu.
Это код:

Код: Выделить всё

while (true)
{
var key = System.Console.ReadKey(true);

if (key.Key == ConsoleKey.Enter)
break;

Io.RootPass += key.KeyChar;
}
Но я получаю следующее исключение:

Произошло исключение: CLR/System.InvalidOperationException
В System.Console.dll произошло необработанное исключение типа «System.InvalidOperationException»: «Невозможно прочитать ключи, если какое-либо из приложений не имеет консоли или когда ввод консоли был перенаправлен. Попробуйте Console.Read.'

Код: Выделить всё

Console.ReadLine()
тоже не работает, он просто не генерирует исключение. Возвращаемое значение не присваивается при нажатии клавиши ввода, поэтому программа продолжает работать.
Я предполагаю, что это связано с тем, что терминал Linux работает по-другому. Есть ли другой работающий интерфейс для терминала Linux?
Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/469 ... -a-console
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»