在Raspberry Pi上使用MonoDevelop ARMv6

Cop*_*ill 40 mono monodevelop raspberry-pi

MonoDevelop的编译到ARMv6的,主要是让我能得到它在我运行树莓派


我注意到Debian可以在Raspberry Pi上运行,而Debian有一套Mono的驱动程序.

那么这是否意味着我们将能够在Mono中发展?

小智 32

Mono项目支持ARM,所以应该能够建立和对树莓派使用的MonoDevelop.至少那是我所希望的!


2012-05-16

我昨天得到了我的Raspberry Pi(是的!)并且可以确认使用Mono及其MCS编译器模块编译和运行.NET代码(我使用C#测试)是可能的.这一切都是通过shell完成的,而不是GUI.如果可能的话,让MonoDevelop IDE运行会很棒.

对于那些感兴趣的人,您可以通过输入以下命

sudo apt-get install mono-complete
Run Code Online (Sandbox Code Playgroud)

这还包括MCS编译器模块,因此您可以简单地编译.cs文件:

mcs program.cs
Run Code Online (Sandbox Code Playgroud)

并运行它:

mono program.exe
Run Code Online (Sandbox Code Playgroud)


Ada*_*rth 11

只是一个注释添加到其他答案,它在Debian安装上工作正常,但由于缺少编译器支持,还没有在Raspbian安装上工作.更多信息可以在这里找到:

http://www.raspberrypi.org/phpBB3/viewtopic.php?f=66&t=11634&start=25

引用似乎是最明智的答案:

据我了解,Raspbian使用不同的"调用约定",因此浮点数以不同的方式在CPU上"转移".所有编译器都必须创建使用Raspbian调用约定的机器代码.使用GCC编译的软件没有问题,因为它被配置为默认使用该调用约定.

但是,当使用不常用的编译器(如单声道CLI - >机器代码即时编译器)时,事情还没有完成.单声道JIT编译器显然使用旧的调用约定来编译所有内容,因为还没有人在单声道中实现新的调用约定.只要单声道代码不会调用某些非单声道代码,但只要您使用本机库就会中断,这样就可以了.

这里的细节可能是错误的,但也许它描述了一般的问题.

编辑:只是为了清楚说明,"Raspbian调用约定"并不是专门为raspbian创建的.它与debian armhf和(我认为)任何其他使用armhf的linux一样.

  • 你知道这是"只是得到修复"还是有人需要加入它? (6认同)

S_B*_*Man 7

Raspberry Pi上的Mono可以并且相当容易设置.以下假设您使用的是Debian.在MonoDevelop(或带有Mono库的Visual Studio)中创建应用程序,然后将其发送到Raspberry Pi.一旦进入Raspberry Pi,它将作为标准运行.由于C#,.NET和JIT的本质,您不必"编译",只需使用运行时来解释MonoDevelop生成的代码.我不会尝试使用MonoDevelop在Raspberry Pi上进行开发,因为它对设备来说相当重.

这是从我的博客中提取的,该博客提供了许多Raspberry Pi教程.

注意:除非您自己从源代码编译,否则当前可用的标准Mono运行时仅支持.NET 3.5.

因此,您希望开始为Raspberry Pi开发一些应用程序,但您对编程的了解仅限于现代.NET语言,如VB.NET和C#.没问题!! 欢迎来到Mono世界,这是一个开源的跨平台兼容版本的.NET框架.通过使用开发IDE,例如Visual Studio或更好的MonoDevelop,您可以生成将在Raspberry Pi上运行的EXE文件.您需要做的就是在Raspberry Pi上安装Mono运行时间.为此,我们输入以下行.

sudo apt-get update

sudo apt-get install mono-runtime
Run Code Online (Sandbox Code Playgroud)

如其他教程中所述,第一行用于更新APT-GET包管理器,以确保它使用最新的源代码来下载包.第二行安装并准备运行时以供使用.而已.现在运行一个Mono开发的EXE文件,只需在命令前加上单词"mono",如下所示.

mono myprogram.exe 
Run Code Online (Sandbox Code Playgroud)