HiveMQ C# library in .NetStandard

Hi Team,
We are trying to evaluate HiveMQ for an IoT application.

We are having a design as follows:
Messages from IoT devices will directed to Azure IoThub.
Need to enrich the message and identify the appropriate topic and publish them to HiveMQ broker.
From HiveMQ brokers, the required users will subscribe to required topics.

In this process, to enrich the messages and to identify the appropriate topic, thought of using AzureFunction(which is an IoTHub trigger).
But the incoming messages are approximately 0.5 millions per second.

Since the volume is huge, where azure functions might not handle, thought of using AzureAnalytics job.

To enrich the message, need to use UDF(user defined functions) in AzureAnalytics job, which needs to be developed .net standard version.

Does the HiveMQ C# libraries supports using of them in .netstandard version??

Is there any solution for the above problem from the HIVEMQ??

Regards,
Viswanath

I can’t comment specifically on your Azure strategy but I can tell you that the HiveMQ C# MQTT client is built against .NET 6 which supports .NET standard.

Microsoft has a .NET support and interoperability matrix here which illustrates the answer better.

Hi Team,
It seems, there is a confusion. I am rephrasing the statement again:

I am having .NetStandard project, which is on ‘.Net Standard 2.0’.
When I try to refer, C# library of ‘HiveMQtt’, of version 0.3.0, in the above project(which is .NetStandard 2.0), I am getting an as below:

Package HiveMQtt 0.3.0 is not compatible with netstandard2.0 (.NETStandard,Version=v2.0). Package HiveMQtt 0.3.0 supports: net6.0 (.NETCoreApp,Version=v6.0)

Can you pls confirm, wheather HiveMQtt C# library, can be referred in .NetStandard library.

Regards,
Viswanath

HI @ViswanathDR,

I trust this message finds you well.

As highlighted by @pglombardo in their response here, it’s important to note that the HiveMQtt C# library version 0.3.0 you are attempting to reference explicitly aligns with .NET 6.0, rather than .NET Standard 2.0. This version of the library is designed with dependencies and features that are specific to the .NET 6.0 framework, potentially rendering it incompatible with earlier versions, such as .NET Standard 2.0.

Should it be feasible within your project’s context, I would kindly recommend considering an upgrade of your .NET Standard project to a more contemporary .NET Standard version, or even transitioning to .NET Core/.NET 6.0 if it aligns with your project’s overall requirements. Such an adjustment may enable seamless integration of version 0.3.0 of the HiveMQtt library into your project. In the event that these suggestions do not align with your project’s specific constraints, it may be prudent to explore alternative MQTT libraries that offer compatibility with .NET Standard 2.0.

Please rest assured that our aim is to provide you with the best possible guidance for your project’s success. If you have any further queries or require additional assistance, please do not hesitate to reach out.

Wishing you the utmost success in your endeavors.

Best regards,

Dasha from the HiveMQ Team

Thanks for the support Dasha