.NET 6.0中System.IO.Ports已弃用,如何获取串口列表?
在.NET 6.0中获取可用串口列表的解决方案
在.NET 6及后续版本中,System.IO.Ports命名空间不再默认包含在SDK中,需通过以下步骤恢复串口相关功能:
安装对应NuGet包
打开Visual Studio的NuGet包管理器,搜索并安装System.IO.Ports包;或使用.NET CLI执行命令:dotnet add package System.IO.Ports引用命名空间并复用原有逻辑
在代码文件顶部添加命名空间引用:using System.IO.Ports;之后即可正常使用
SerialPort.GetPortNames()方法获取串口列表,你的代码可调整为:ComboBox CMS = new ComboBox(); string[] comlist = SerialPort.GetPortNames(); CMS.Items.Clear(); // 存在串口时添加到下拉框 if (comlist.Length > 0) { CMS.Items.AddRange(comlist); }
补充说明
- 该方法支持Windows、Linux和macOS跨平台使用,在Linux或macOS环境下可能需要额外权限配置(比如将用户添加到
dialout组)才能访问串口设备。
内容的提问来源于stack exchange,提问作者Stephen W. Park
相关产品推荐
相关产品推荐

