如何在运行Windows IOT核心的树莓派PI中运行普通的Windows .exe

时间:2018-07-17 09:06:39

标签: windows raspberry-pi windows-10-iot-core

我对Windows核心平台非常陌生。

我已经使用Visual Studio 2015在我的普通Windows 10主机上开发了一个控制台应用程序,并且它像使用intel(I5 / I7)处理器的本地计算机一样运行。

现在我必须将我的应用程序移至运行Windows IOT核心的PI。我对文件进行了xcopy并尝试使用Windows主机的电源外壳运行,但问题是..我无法运行我的应用程序并出现以下错误消息。

为什么我的应用程序未在PI中运行?实际上,我的应用程序是为用于Intel处理器的X86平台编译的。这是真的原因吗?如果是这样,我如何编译我的源代码以面向ARM处理器。请让我知道解决方法。提前致谢。

enter image description here

3 个答案:

答案 0 :(得分:0)

这看起来不像体系结构不匹配,它看起来像.NET Framework不匹配。 (您的代码必须是AnyCPU,因为其他任何选项都不能同时在Intel和ARM上运行,并且显然您的代码已开始运行)

该异常发生在log4net(您使用的一种库)内部。您将必须找到适用于该.NET Framework版本的log4net版本,或删除该库并找到另一种生成日志的方式。

答案 1 :(得分:0)

Windows IoT核心版支持UWP和非UWP应用。 IoT Core是以UWP为中心的操作系统,并且UWP应用是其主要应用类型.Universal Windows Platform(UWP)是所有Windows 10版本(包括Windows 10 IoT Core)的通用应用程序平台。 除了传统的UI应用程序外,IoT核心版还添加了一种新的UWP应用程序类型,称为“背景应用程序”。这些应用程序没有UI组件,但是具有实现“ IBackgroundTask”接口的类。

IoT Core支持某些传统的Win32应用类型,例如Win32 Console Apps,但仅C ++支持在IoT Core上开发Win32应用。

答案 2 :(得分:0)

如果将powershell和CD打开到解决方案项目文件夹中

要为树莓派编译代码,您需要使用win-arm作为目标进行编译

您可以发出以下命令之一:

fopen

然后将其编译到相对于您选择的发布配置文件的bin文件夹中

'.. \ bin \ Debug \ netcoreapp2.0 \ win-arm \ publish'

将publish文件夹的所有内容复制到树莓派上选择的目录中。

这将能够在运行Windows IoT Core的树莓派上运行简单的.NET Core控制台应用程序