Oakrey.HardwareManager.Client.Common 1.0.0

dotnet add package Oakrey.HardwareManager.Client.Common --version 1.0.0
                    
NuGet\Install-Package Oakrey.HardwareManager.Client.Common -Version 1.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Oakrey.HardwareManager.Client.Common" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Oakrey.HardwareManager.Client.Common" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Oakrey.HardwareManager.Client.Common" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Oakrey.HardwareManager.Client.Common --version 1.0.0
                    
#r "nuget: Oakrey.HardwareManager.Client.Common, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Oakrey.HardwareManager.Client.Common@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Oakrey.HardwareManager.Client.Common&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Oakrey.HardwareManager.Client.Common&version=1.0.0
                    
Install as a Cake Tool

Oakrey.HardwareManager.Client.Common

Overview

A foundational .NET library providing shared abstractions, utilities, and base classes for building client applications that interact with hardware devices in the Oakrey HardwareManager ecosystem. This package standardizes device representation, connection management, error handling, and serialization, enabling rapid development of robust, type-safe hardware client solutions.

Features

Device & Channel Abstractions

  • Device and DeviceType classes for representing hardware devices and their capabilities.
  • Channel class for modeling communication channels and their properties.

Client Base Classes & Interfaces

  • ClientBase and GuruClientBase provide reusable logic for client implementations, including connection lifecycle and resource management.
  • IClientBase interface for consistent client contract definition.

Connection Management

  • HubClientConnection for managing SignalR or similar hub-based connections.
  • ConnectionConfirmation for robust connection state tracking and confirmation.

Error Handling

  • ClientException for standardized exception handling across client implementations.

Utilities & Serialization

  • PolymorphicConverter for advanced polymorphic JSON serialization/deserialization.
  • Utilities class for common helper methods.

Integration Support

  • ITrayAppConnect interface for integrating with tray applications or UI components.

Extensibility

  • Designed to be extended by protocol-specific client libraries (e.g., CAN, LIN, License).

Example Use Cases

  • Building protocol-specific hardware clients (CAN, LIN, etc.) on a unified foundation.
  • Rapidly developing device management, monitoring, or automation tools.
  • Integrating hardware communication into desktop, web, or service applications.

Installation

You can install the package via NuGet Package Manager, Package Manager Console or the .NET CLI.

NuGet Package Manager

  1. Open your project in Visual Studio.
  2. Navigate to Tools > NuGet Package Manager > Manage NuGet Packages for Solution....
  3. Search for Oakrey.HardwareManager.Client.Common and click Install.

.NET CLI

Run the following command in your terminal:

dotnet add package Oakrey.HardwareManager.Client.Common

Package Manager Console

Run the following command in your Package Manager Console:

Install-Package Oakrey.HardwareManager.Client.Common

Requirements

  • .NET 8 or higher

Project Information

Contributing

Contributions are welcome! Feel free to open issues or submit pull requests to improve the package.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on Oakrey.HardwareManager.Client.Common:

Package Downloads
Oakrey.HardwareManager.Client.CAN

A .NET client library for remote CAN communication, supporting device discovery, connection, message transmission, and reception. Provides high-level abstractions and reactive APIs for integrating CAN bus operations into .NET applications as part of the Oakrey HardwareManager ecosystem.

Oakrey.HardwareManager.Client.License

A .NET client library for remote license management and validation, supporting license acquisition, activation, and status checks. Provides high-level abstractions and secure APIs for integrating licensing workflows into .NET applications as part of the Oakrey HardwareManager ecosystem.

Oakrey.HardwareManager.Client.LIN

A .NET client library for remote LIN communication, supporting device discovery, connection, LIN frame transmission and reception, scheduling, and error handling. Provides high-level abstractions and event-driven APIs for integrating LIN bus operations into .NET applications as part of the Oakrey HardwareManager ecosystem.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0 159 7/9/2025