Я отправил этот вопрос corefx team и отправил туда проблему .
Все отзывы в этом ответе идут на @ danmosemsft
Элемент Console.BufferHeight
не поддерживается в Unix.В документах не указано специфическое поведение Unix для методов / свойств консоли.
Класс ConsolePal
в документе ConsolePal.Unix.cs включает также другие члены NotSupported.
Создается новый документ для отображения исключений PlatformNotSupportedException в System.Console
Я изменил код и перехватил PlatformNotSupportedException
отдельно, и приложение работает в Ubuntu без проблем.
try
{
//.... do your stuff here
}
catch (PlatformNotSupportedException )
{
//log PlatformNotSupportedException
//noop
}
catch (exception ex)
{
//handle exception
}
Редактировать
Обнаружение кода, вызывающего PlatformNotSupportedException:
Установить пакет nugetMicrosoft.DotNet.Analyzers.Compatibility
Install-Package Microsoft.DotNet.Analyzers.Compatibility -Version 0.2.12-alpha
Настройте инструмент, как описано здесь
Выберите правило PC001 и выберите Set RuleУстановите уровень серьезности как ошибку
- При сборке проекта все проблемы, связанные с PlatformNotSupportedExceptions, отображаются как ошибки в окне ошибок