«Не удалось загрузить файл или сборку System.Device.Gpio» на границе интернета вещей

#c# #gpio #azure-iot-edge

#c# #gpio #azure-iot-edge

Вопрос:

Попытался создать простую демонстрацию использования Gpio на C # на Raspberry Pi с Azure Iot Edge. Включил System.Device.Gpio» Version=»0.1.0-prerelease.19171.3″ в проект, и он отлично компилируется и генерирует модуль docker. Но когда модуль запускается на Rasberry pi, я получаю исключение «System.IO.FileNotFoundException: не удалось загрузить файл или сборку ‘System.Device.Gpio, Version = 0.1.0.0 …»

Пользовательский модуль в C # на Azure IOT Edge для Raspberry Pi (новейшая версия с использованием apt-get). Сборка с использованием Visual Studio Code и Azure IoT Edge для Visual Studio Code. Модуль работает нормально, когда я не использую библиотеку Gpio.

Module.csproj

 …
<PackageReference Include="System.Device.Gpio" Version="0.1.0-prerelease.19171.3" />
…
  

Program.cs

using System.Device.Gpio;
…
using (var controller = new GpioController()){
  controller.OpenPin(17, PinMode.Output);
  controller.Write(17, PinValue.High)
}
  

Комментарии:

1. Похоже, что сборка не копируется при запуске приложения на RPi. Откройте ссылки на проект, щелкните правой кнопкой мыши сборку Gpio и откройте Свойства. Убедитесь, что для параметра «Копировать локально» установлено значение True.

2. Это та же ошибка, что и у вас? github.com/dotnet/iot/issues/345

3. @silent: Да; вероятно, это та же проблема. Спасибо за ссылку.