C# .Net 6.0 System.IO.Ports 已被弃用。我如何使用 SerialPort?

huangapple go评论125阅读模式
英文:

C# .Net 6.0 System.IO.Ports is depricated. How can I use SerialPort?

问题

我是C#程序员,使用VS 2022,使用.NET Framework没有问题,可以使用 System.IO.Ports.SerialPort 来使用 .GetPortNames() 来收集可用的串口列表。

例如;

ComboBox CMS = new ComboBox();
string[] comlist = System.IO.Ports.SerialPort.GetPortNames();
CMS.Items.Clear();
//如果串口存在,将ComboBox项添加
if (comlist.Length > 0) CMS.Items.AddRange(comlist);

然而,这段代码在.NET 6.0上不起作用。
System.IO 存在,但.Ports 不再存在。所以 Ports.SerialPort... 全部被移除了。

如何在.NET 6.0中获取串口列表?
我已经进行了大量的搜索和谷歌搜索,但找不到解决方案。

英文:

I am C# programmer and using VS 2022, with .NET Framework is no problem using System.IO.Ports.SerialPort in order to use .GetPortNames() for collect available serial port list.

for example;

ComboBox CMS = new ComboBox();
string[] comlist = System.IO.SerialPort.GetPortNames();
CMS.Items.Clear();
//ComboBox item add if serial port is exist
if (comlist.Length > 0) CMS.Items.AddRange(comlist);

However, this code is not working on .NET 6.0.
System.IO is exist but .Ports does not. So Ports.SerialPort... all removed.

How can I get Serial Ports list with .NET 6.0?
I've searched and google a lot but can't find solution.

答案1

得分: 7

尝试添加 System.IO.Ports NuGet 包:

<PackageReference Include="System.IO.Ports" Version="7.0.0" />

还请注意,完全限定的名称是 System.IO.Ports.SerialPort,而不是 System.IO.SerialPort

英文:

Try adding the System.IO.Ports NuGet package:

&lt;PackageReference Include=&quot;System.IO.Ports&quot; Version=&quot;7.0.0&quot; /&gt;

Also note that the fully qualified name is System.IO.Ports.SerialPort, not System.IO.SerialPort

huangapple
  • 本文由 发表于 2023年2月27日 17:39:10
  • 转载请务必保留本文链接:https://go.coder-hub.com/75578803.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定