Как обработать исключение - System.PlatformNotSupportedException: "System.IO.Ports is currently only supported on Windows."?
Хочу в консольном приложении подключиться к ПЛК через переходник RS485/USB. Не доходя до прочего кода (параметры подключения, чтение и запись данных ПЛК), получаю указанное выше исключение:
using System.IO.Ports;
List<string> allports = SerialPort.GetPortNames().ToList(); // здесь выходит исключение
string port = allports.Last();
SerialPort serial = new SerialPort(port); // если убрать предыдущие две строчки, заменив port на "COM4", то тогда здесь выйдет исключение
Основной вопрос: как правильно обработать это исключение (отключать не хочется) ? Изменял параметры проекта с дефолтных на: Целевая платформа - Windows; Целевая версия ОС - 7; Целевая платформа - х64. Не помогло, вернул на прежние (нет целевой платформы и Any CPU), чтобы потом под Linux опробовать работу приложения.
Дополнительный вопрос: на Windows строка string port = allports.Last();
выдаёт мне через C#Interactive (тут это исключение не выходит и код работает) результат "COM4"
. Такое наименование, как я понимаю, свойственно только для Windows. Будет ли указанный код работать на Linux, чтобы сделать мне new SerialPort(port);
с результатом вроде "/dev/ttyUSB0"
?