Microsoft Device客户端对Windows FormAplicattion来说太重了

时间:2017-09-11 20:15:15

标签: c# winforms azure iot azure-iot-hub

操作系统:Windows10

SDK:Microsoft.Azure.Devices v1.3.2

语言:C#

您好,我正在使用C#开发Windows窗体应用程序。在这个应用程序中,我使用NuGet数据包 Microsoft.Azure.Devices v1.3.2 向我的IoT Hub发送消息,并在覆盆子pi上接收这些消息。 这个软件包安装Ony,应用程序大约30 MB,这对我来说没问题。 问题是我需要在这个应用程序中从IoT Hub接收消息,所以我所做的是安装帮助我接收消息的NuGetPacket Microsoft.Azure.Devices.Client v1.5.0 ,但是,如果我安装这个软件包,它会增加应用程序的重量,就像300 MB一样,这比我想要的更重。

我的问题是,是否有其他方法可以在我的Windows窗体应用程序中从我的IoT Hub接收消息而没有额外的重量?我错过了一个包以帮助我以更简单的方式做到这一点吗? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

您还可以使用EventHubClient从位于WindowsAzure.ServiceBus的Azure IoT Hub接收消息。 WindowsAzure.ServiceBus没有依赖关系,它大约是3M。此外,您还可以从azure-iot-sdk-csharp获取示例源代码。 DeviceExplorer的工具使用EventHubClient来接收消息。

Microsoft.Azure.Devices.Client v1.5.0有很多依赖项。当您使用nuget安装Microsoft.Azure.Devices.Client时,也将安装依赖项。构建项目后,可以在输出目录中找到* .dll库。如果要减少程序包的容量,可以删除一些未使用的* .dll,例如本地化库,但不建议这样做。事实上,所有的依赖关系大约是20M,为什么你的应用程序的权重增加到300M可能是其他原因。

dependencies