3

I want to control a robot arm with a raspberry pi3 running Windows IoT. There is a dll for controlling the robot. In the documentation of the dll it says that .NET 2.0 framework is required.

Is it possible to use this dll on Windows IoT?

1

Windows IoT required DLL to be as follows:

  • Compiled using the ARM target
  • Needs to target .NET Core

Those restrictions strictly apply when using UWA you may be able to get away by using a console app but it is not that simple on IoT as everything is sandboxed.

Otherwise the other way to use the DLL on the Pi is to run a nix OS like Raspbian, install the latest MONO and then you can embed DLL's into your projects and it should just run, even if targeted for x86 - Thanks to all the clever stuff mono does.

  • 1
    Aren't .NET DLLs using MSIL rather than x86 or ARM bytecode? – Dmitry Grigoryev Mar 14 '17 at 10:44
  • Yea.. that is a good question. Why do we need to specifically set ARM / x86 targets when building for IoT or Windows 10 then? – Piotr Kula Mar 14 '17 at 11:12
  • No idea. I was hoping you'll explain that ;) My guess would be that there is some native code in there after all, but that doesn't explain how mono can work around this. – Dmitry Grigoryev Mar 14 '17 at 11:18
  • That is a good question to ask on its own really. I am not "that" familiar with the compiling process. You are correct though, everything gets compiled into MSIL but the target machine does not execute MSIL. The CLR loads the MSIL (IL) but the processor cannot execute IL so that is why JIT is loaded. JIT compiles everything into machine code for the processor. I assume selecting the target specifically has something to do with all the other stuff around MSIL – Piotr Kula Mar 14 '17 at 11:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.