2014-01-14 2 views
2

Как я могу перечислить все доступные COM-порты на свой компьютер?Как получить список всех доступных COM-портов в C# с asp.net 4

Я видел несколько примеров wiht .net 1.1, так что я блуждал, нет ли более современного способа сделать это?

У меня есть SerialPort называется serialPort

Я получил этот код с сайта MSDN:

// Get a list of serial port names. 
string[] ports = SerialPort.GetPortNames(); 

Console.WriteLine("The following serial ports were found:"); 

// Display each port name to the console. 
foreach(string port in ports) 
{ 
    Console.WriteLine(port); 
} 

Это даст мне следующее сообщение об ошибке: Имя «SerialPort» не существует в текущем контексте

Я попытался изменить его к стрелковому с, а затем я получаю эту ошибку:

Member 'System.IO.Ports.SerialPort.GetPortNames()' cannot be accessed with an instance  reference; qualify it with a type name instead  
+0

Ну, «String [] порты = System.IO.Ports.SerialPort. GetPortNames();» отлично работает и узнает мой порт «COM1» –

+0

Просмотрите мудрость подключения последовательных устройств к вашему веб-серверу. Для этого требуется очень длинный кабель. –

ответ

3

Ошибка The name "SerialPort" Does not exist in the current context означает, что у вас нет требуемых ссылок и/или импорта пространства имен, установленных в вашем проекте/файле.

'System.IO.Ports.SerialPort.GetPortNames()' cannot be accessed with an instance reference; qualify it with a type name instead означает, что вы пытаетесь вызвать статический метод для экземпляра объекта (что, очевидно, невозможно).

Вы должны полностью определить пространство имен в вашем вызове метода:

string[] ports = System.IO.Ports.SerialPort.GetPortNames(); 

или добавить using директиву:

using System.IO.Ports; 
..... 
string[] ports = SerialPort.GetPortNames(); 
Смежные вопросы