ZylSerialPort.NET is a thread based, event driven, asynchronous serial port .NET component.
Use ZylSerialPort.NET component to easily communicate with external devices on serial port connection, such as modems, bar code readers, GSM modules and others.
You can use it also with USB, IrDA and Bluetooth devices, because these devices have a driver that redirects the input from the USB, IrDA or Bluetooth port to a virtual serial port (you can check it in System/Device Manager/Ports). If your USB device is not provided with such a driver, then use a USB controller whose vendor provides a virtual serial port driver, such as FTDI or use a USB/RS-232 adapter.
ZylSerialPort.NET is written 100% in C# using .Net framework and API calls.
The demo version is fully functional, but it displays a nag dialog (the licensed version will, of course, not have a nag dialog). The package includes demo programs for C# and VB.NET for Visual Studio 2010, 2012, 2013 and 2015, Winforms and WPF. A help file is also included or you can use the online documentation.