Actually the implementation for Texas Instruments CC2531 hardware is within the ZigBeeNet shared project.
If there will be more implementations the target assembly will always contain all hardware implementations even if you only use one of it.
To minimize the assembly file and make development easier it will be better to create seperate project files for each hardware. Also creation of NuGet packages will be simplified and correct target platform can be choosed.
Following structure:
ZigBeeNet
ZigBeeNet.Hardware.TI.CC2531
The base library ZigBeeNet should always be netstandard, but CC2531 needs System.IO.Ports.SerialPort which is only possible on full framework or .NET Core 3.0 and newer or with explicit reference with it's package from NuGet.
For this case we need seperate assemblies and NuGet packages
Actually the implementation for Texas Instruments CC2531 hardware is within the ZigBeeNet shared project. If there will be more implementations the target assembly will always contain all hardware implementations even if you only use one of it.
To minimize the assembly file and make development easier it will be better to create seperate project files for each hardware. Also creation of NuGet packages will be simplified and correct target platform can be choosed.
Following structure:
The base library ZigBeeNet should always be netstandard, but CC2531 needs System.IO.Ports.SerialPort which is only possible on full framework or .NET Core 3.0 and newer or with explicit reference with it's package from NuGet.
For this case we need seperate assemblies and NuGet packages