如何在物联网边缘设备中将旧代码(使用.net framework 4.6构建)部署为模块?

时间:2020-05-27 11:25:59

标签: azure-iot-edge azure-iot-sdk

我有一个用.net Framework 4.6编写的代码,该代码与设备(非IoT,非IP)通信并读取数据。我希望将此数据发送到Azure IoT中心。 因此,我想创建IoT Edge模块,而不是在其中使用Azure IoT设备SDK并将其作为模拟设备运行,因此该应用程序的生命周期管理将非常方便。 但是,当我在VS 2017中创建新的C#模块时,它迫使我使用.net core 2.1。是否可以使用.net Frameworks创建Azure IoT Edge自定义模块。如果是的话,怎么办?

1 个答案:

答案 0 :(得分:1)

当您使用VS或VS Code创建模块时,他们会假定您需要“传统”(和跨平台)模块。因此,.NET Core是唯一的选择(对于跨平台部分)。但是,如果您只想将IoT Edge用作部署/生命周期管理工具,则可以独立于IoT Edge构建自己的Docker映像,但仍可以通过IoT Edge清单进行部署。 link讨论了将传统.NET应用容器化的问题,然后您应该可以使用IoT Edge进行部署(它不会“与ioT Edge对话”)。我们已经使用influxdb,grafana,redis缓存等完成了类似的事情(非iot-edge模块)。我们通过IoT Edge部署和管理其生命周期,但是他们并没有真正与IoT Edge进行对话

请注意,如果您按照本文所述创建容器,则只能使用Windows容器在Windows上运行IoT Edge。