Skip to content

Make System.IO.Ports available as a .NET Core API #15082

@SariDev

Description

@SariDev

Hi corefx Team,

please provide a .NET Core API that offers classes and interfaces for serial port communication like the ones available inside the .NET Framework.

.NET Framework documentation for System.IO.Ports:
https://msdn.microsoft.com/de-de/library/system.io.ports(v=vs.110).aspx

There is also a Universal Windows Platform API for serial port communication available:
https://msdn.microsoft.com/en-us/library/windows/apps/windows.devices.serialcommunication.aspx

Now only a cross plattform .NET Core API is missing.

You may ask why do we need cross plattform serial port communication support.
The answer is:

There are a lot of devices used in the industry that have to communicate through the serial port.
e.g.

  • Barcode Scanners
  • Industrial Balances
  • Legacy PDA Docking Stations
    I'm sure there are many other devices.

So there are many applications out there that must communicate through the RS232 Port.
If we take into account that many customers are using other operating systems (Linux, MAC) or more than 1 OS inside the company, than we have to adapt our source code be able to support those operating systems.

It makes sense to have a unified codebase for such applications.
There is a need for a cross plattform version of the System.IO.Ports Namespace so please corefx Team think about it.

Maybe - if you decide to port the API over to .NET Core - you could also have a look at some problems of the current .NET Framework implementation of the SerialPort class that are mentioned here:

  1. http://www.sparxeng.com/blog/software/must-use-net-system-io-ports-serialport

  2. http://zachsaw.blogspot.de/2010/07/net-serialport-woes.html

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions