如果是这样,它们运行得如何?基本的GUI是否可用,或者性能差实际上将其限制在命令行应用程序中?
#1 楼
在Raspberry Pi上有一个与此非常相似的StackOverflow问题。但是,通过我自己的研究,我无法找到特定于.NET的任何东西,而只能找到C#。您可以通过执行以下操作在Debian发行版上使用APT安装运行时:
$ sudo apt-get install mono-runtime
您还可以(假设您拥有某种GUI,例如LXDE)通过以下方式安装缓慢的Mono IDE:
$ sudo apt-get install monodevelop
对于Arch Linux ARM,您需要通过Pacman安装运行时,如下所示:
$ sudo pacman -S mono
Mono IDE可以以类似的方式安装:
$ sudo pacman -S monodevelop
评论
您所说的“仅C#”是什么意思?
–乔恩·埃格顿(Jon Egerton)
2012年7月16日在8:09
@JonEgerton C#是一种语言,而.NET是一个框架。您可以使用C#为.NET框架进行开发,但是C#可以作为独立的编程语言独立存在。一个更相关的示例可能是:您使用Java为Android开发,但可以使用Java编写桌面程序。 C#不依赖于.NET,但是.NET依赖于C#。
–安德鲁·拉尔森(Andrew Larsson)
2012年7月16日在18:12
嗨,抱歉,这不是我的意思(我是.Net开发者!)。它更多地是C#的排他性,而不是其他.net家族语言(vb.net,J#F#等)。我从来没有研究过Mono,也没有意识到这仅仅是C#。
–乔恩·埃格顿(Jon Egerton)
2012年7月16日在21:31
@Andrew恰恰相反:.NET不依赖C#,但是C#依赖于诸如.NET(或Mono)之类的运行时,在实践中它从来都不是独立的编程语言。此外,mono完全与语言无关(.NET也是如此),因此它再次不依赖于C#。
–康拉德·鲁道夫(Konrad Rudolph)
2012年8月5日在16:31
不要在设备上安装MonoDeveloper。那太慢了。只需使用CIFS安装网络驱动器,然后在快速的PC / MAC上进行编译,然后通过LAN进行测试即可。
–BerggreenDK
13年2月24日在1:56
#2 楼
与流行的看法相反,VB.NET编译的代码至少在Debian下的Raspberry Pi上运行良好。 apt-get install mono-vbnc,然后运行您的VB exe作为mono的参数,例如mono yourexe.exe我没有做任何性能基准测试,因为我没有编写性能密集型应用程序,但是到目前为止还不错。
评论
任何.NET语言都可以编译为相同的IL /字节码,因此一旦触发编译器(mono-vbnc或任何语言),您的VB就会消失,IL就是RUNTIME内核中使用的东西。
–BerggreenDK
13年2月24日在1:58
#3 楼
使用.NET Framework库的.NET代码无法在Raspberry Pi上运行,因为它需要运行ARM兼容版本的NETMF或CLR。到目前为止,Microsoft尚未发布基于ARM(WoA)的Windows。有关适用于ARM的Microsoft Research CLR的信息,请参阅实验19。但是,由于Mono具有适用于ARM设备的CLR,因此可以使用Mono运行.NET代码(无需参考或使用.NET Framework库)。还为ARM处理器体系结构构建Windows,以获取有关ARM on Windows(WoA)上的信息。
评论
我认为您的说法在这里是错误的。可以复制在PC上编译的.EXE文件,该文件引用并使用.NET框架类(例如Socket类或TcpListener类),再将其原样复制到RPi,并使其在RPi上完美运行单声道下的RPi。这是因为Mono使用完全相同的名称空间,类型和接口,用自己的版本替换了大多数.NET框架基类。
– dodgy_coder
2012年9月11日下午5:31
#4 楼
我有一个命令行.NET应用程序可与Mono一起使用。该应用程序基本上在做类似于端口转发的操作,接收通过串行UART接收的数据并通过TCP / IP转发。它使用SerialPort,TcpListener,TcpClient和Socket .NET类,仅需对SerialPort处理代码进行较小的更改。我正在使用Debian软浮动OS。在性能方面,我遇到的第一件事是某些调试/跟踪代码的显着减慢,该代码将字节数组格式化为字符串用于记录目的。与在PC上运行相比,它慢了50倍。
因此,我建议在将现有代码移植到RPi时编写一些性能单元测试。
对于单元测试,NUnit在RPi上可以正常工作...
要安装NUnit:
sudo apt-get install nunit
要运行:
nunit-console appUnderTest.exe
评论
速度是相对的。但是运行在1000兆赫兹(型号2)的Raspberry PI的性能近似于奔腾300兆赫兹,因此这可以解释为什么.NET / MONO刚开始时会感觉很慢。
–BerggreenDK
13年2月24日在2:00
评论
也许Portable.NET也是一个选择。ms-iot.github.io/content/zh-CN/GetStarted.htm