HIDSharp

HIDSharp is a multiplatform C# library for USB HID devices, COM
enabled to additionally allow use by VB6 and MS Access programs (the
.NET Framework will of course need to be installed).
It has received seven years of continual use with a Dymo Scale in
MS Access, and five years with a wide variety of USB HID devices I've
developed, so I know it to be reliable.

Version History

2.0 alpha (December 9, 2017):
Added a NativeImplementation property to Device.
Added exclusivity layer, with the ability to request interruption. This is useful for interprocess cooperation, but must be enabled manually.
Added support for serial ports. This is still somewhat buggy on Linux, but on MacOS it works better than the Mono native implementation.
Added support for Linux libudev.so.1.
Fixed Linux support on recent Mono versions.
GetFeature() and SetFeature() now work on Linux.
Exposed GetFileSystemName(). This can be used on Linux to check hidraw permissions.
Feedback on the new features is appreciated. Some code modifications will be needed to use this new version.

1.5 (May 18, 2013):
Added the DevicePath property to HidDevice.
This is useful for differentiating devices with the same VID, PID, etc.