40

MonoDevelop会编译到 ARMv6,主要是为了让它在我的Raspberry Pi上运行吗?


我注意到Debian 可以在 Raspberry Pi 上运行,并且 Debian 有一组 Mono 驱动程序

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

4

4 回答 4

32

Mono 项目支持 ARM ,因此应该能够在 Raspberry Pi 上构建和使用 MonoDevelop。至少这是我所希望的!


2012-05-16

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

对于那些感兴趣的人,您可以通过键入以下内容来安装 Mono:

sudo apt-get install mono-complete

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

mcs program.cs

并像这样运行它:

mono program.exe
于 2012-03-08T10:58:40.670 回答
11

只是添加到其他答案的注释,它在 Debian 安装上运行良好,但由于缺少编译器支持,在 Raspbian 安装上还不能运行。更多信息可以在这里找到:

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

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

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

但是,当使用不太常见的编译器(如 mono CLI -> 机器码即时编译器)时,事情还不太正常。mono JIT 编译器显然对其编译的所有内容都使用旧的调用约定,因为还没有人在 mono 中实现新的调用约定。只要单声道代码不调用某些非单声道代码,但只要您使用本机库就会中断,这很好。

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

编辑:为了清楚起见,“Raspbian 调用约定”并不是专门为 raspbian 创建的。它与 debian armhf 和(我认为)任何其他使用 armhf 的 linux 相同。

于 2012-07-26T14:59:06.513 回答
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

正如在其他教程中提到的,第一行用于更新 APT-GET 包管理器,以确保它使用最新的源来下载你的包。第二行安装并准备运行时以供使用。而已。现在要运行 Mono 开发的 EXE 文件,只需简单地在命令前加上单词“mono”,如下所示。

mono myprogram.exe 
于 2012-07-04T09:16:55.643 回答
0

2013 年笔记 --- F# 遇见树莓派

试图让 F# 在 Raspberry Pi 上工作

于 2013-03-10T23:03:31.320 回答