在 Raspberry Pi 下安装 Mono 环境
由于树莓派的Raspbian衍生自Debian,所以Mono什么的非常好装。但是官方源中的Mono在Hard Float的Raspbian下是没法完整支持.NET程序的,比如没法在LXDE上运行Winform,但是装Soft Float的话又感觉很亏,所以我们要在Hard Float的Raspbian下装支持Hard Float的.NET环境。
一、安装支持Hard Float的Mono
Raspberry的论坛上有好心人编译好了Raspberry能用的支持Hard Float的Mono,所以我们分别敲入下列代码安装即可,而且压缩包内都是按目录分好的,直接解压缩到“/”下即可,Mono将安装在“/usr/local/”下。
1
2
3
4
5
|
cd
~
wget https:
//www
.dropbox.com
/s/sask17flot3zqlg/mono_2_11_4_armv6hf_binary
.tgz
cd
/
sudo
tar
zxf ~
/mono_2_11_4_armv6hf_binary
.tgz
sudo
ldconfig
|
不过众所周知的,Dropbox在天朝的下载速度实在是太慢了,我拖下来然后把它共享在百度云上,有需要的可以从国内下载直接解压缩就好了:http://pan.baidu.com/s/1pEds1
如果要是之前已经安装过Mono的话,需要先将其完全删除,然后再进行安装。删除可以使用以下命令:
1
2
|
sudo
apt-get remove mono-complete mono-runtime mono-common cli-common libmono0
sudo
apt-get remove --purge mono-runtime libmono-2.0 libmono-profiler mono-devel monodoc-browser
|
装完后可以输入mono -V看下,有了hardfp-abi好高兴!(图中下图是官方源中的Mono)
二、安装Gtk#
装支持Hard Float的Mono就是为了这玩意,由于安装的Mono不是从官方源中安装的,所以从这步开始的很多组件都只能自己下载源码进行编译安装了。
首先安装必须的组件
1
|
sudo
apt-get
install
automake libtool libgdiplus libpango1.0-dev libatk1.0-dev libgtk2.0-dev libglade2-dev
|
然后下载Gtk#并安装
1
2
3
4
5
6
7
|
cd
~
wget http:
//ftp
.gnome.org
/pub/gnome/sources/gtk-sharp/2
.12
/gtk-sharp-2
.12.10.
tar
.gz
tar
zxf gtk-sharp-2.12.10.
tar
.gz
cd
gtk-sharp-2.12.10/
.
/configure
make
sudo
make
install
|
不过貌似gnome的网站的速度也挺慢,传送门:http://pan.baidu.com/s/1koy2W。
装完后去LXDE下就能打开Winform的程序了。不过如果locale设置的不是zh-cn的话,即使安装了中文字体,界面中的字仍然是方块,如下图。
比较简单的方法是修改字体的映射,我们可以修改“/etc/fonts/conf.d/49-sansserif.conf”,将最后
三、安装xsp
在Linux下除了能跑Winform的程序外,比较有用的应该是跑Web应用,首先我们需要安装xsp。
1
2
3
4
5
6
7
|
cd
~
sudo
wget http:
//download
.mono-project.com
/sources/xsp/xsp-2
.10.
tar
.bz2
sudo
tar
jxf xsp-2.10.
tar
.bz2
cd
xsp-2.10
.
/configure
make
sudo
make
install
|
四、安装mod_mono
如果喜欢使用apache2的话可以使用apache2的组件mod_mono来使apache2支持Mono,当然是用其他的Web服务器也是可以的。
1
2
3
4
5
6
7
8
|
cd
~
sudo
wget http:
//download
.mono-project.com
/sources/mod_mono/mod_mono-2
.10.
tar
.bz2
sudo
tar
jxf mod_mono-2.10.
tar
.bz2
sudo
apt-get
install
apache2-threaded-dev
cd
mod_mono-2.10
.
/configure
make
sudo
make
install
|
不过由于Mono和Xsp并不是安装在“/usr/”下,而是安装在“/usr/local/”下,所以我们在配置的时候特别需要注意。比如可以使用MonoAutoApplication,即修改“/etc/apache2/mod_mono.conf”,在最后添加如下两句:
1
2
|
MonoServerPath
"/usr/local/bin/mod-mono-server2"
MonoAutoApplication enabled
|
然后将mod_mono.conf复制到“/etc/apache2/mods-enabled”下,然后重启apache2即可。当然比较传统的方式是将mod_mono.conf移动到mods-available下,然后再在mods-enabled下创建个链接。
相关链接
Mono (C#) 2.11.4 hard-float for Raspberry Pi (EXPERIMENTAL):http://www.raspberrypi.org/phpBB3/viewtopic.php?t=37174
在Linux(Ubuntu/openSUSE/CentOS)下配置ASP.NET(Apache + Mono):http://www.cnblogs.com/mayswind/p/3189724.html
via
本文来自:树莓派实验室
链接地址:http://shumeipai.nxez.com/2013/11/02/raspberry-pi-install-the-dotnet-environment.html
关注我们的方法:
1. 点击文章标题下的“dotNET跨平台”蓝字,或者在微信搜索“opendotnet”,加关注
2. 老朋友点击点击右上角“……”标志分享到朋友圈
3. 欢迎扫描我们的二维码
上一篇: Wasm 软件生态系统安全分析
推荐阅读
-
在 Raspberry Pi 下安装 Mono 环境
-
在 centOS 下安装 go 环境
-
在 ubuntu 下安装 go 环境,包括 GOROOT 和 GOPATH 配置
-
紧急模式问题处理 - 图 1 紧急模式 根本原因分析 应急模式提供了尽可能小的环境,即使无法进入应急模式,也可以在其中修复系统。在应急模式下,系统只安装根文件系统供读取,不尝试安装任何其他本地文件系统,不激活网络接口,只启动一些基本服务。 进入应急模式的原因通常是 /etc/fstab 文件中存在错误,导致文件系统挂载失败。 文件系统中存在错误,导致。 约束和限制 本节适用于 Linux 操作系统紧急模式。程序涉及修复文件系统。修复文件系统有丢失数据的风险,因此请先备份数据,然后再执行修复操作。 处理方法 输入根密码,然后进入修复模式。 在应急模式下,根分区以只读模式挂载。要修改根目录中的文件,需要执行以下命令以读写模式重新挂载根分区。# mount -o rw,remount / 请执行以下命令首先检查 fstab 文件是否有误,然后尝试挂载所有未挂载的文件系统。# mount -a 如果挂载点不存在,请创建一个挂载点。 如果不存在此类设备,请注释或删除挂载行。 如果指定了不正确的挂载选项,请将挂载参数更改为正确的参数。 如果没有发生错误,但出现 UNEXPECTED INCONSISTENCY;RUN fsck MANUALLY 消息(通常是由文件系统错误引起的),请跳至第 7 步。 执行以下命令打开 /etc/fstab 以修改相应的错误。# vi /etc/fstab /etc/fstab 文件包含以下字段,以空格分隔:[文件系统] [dir] [type] [options] [dump] [fsck] 表 1 /etc/fstab 参数 说明 参数 说明 [文件系统] 要挂载的分区或存储设备。 文件系统]列建议以 UUID 的形式写入。执行 blkid 命令可查询设备文件系统 UUID。 参考格式如下: # <device> <dir> <type> <options> <dump> <fsck>; UUID=b411dc99-f0a0-4c87-9e05-184977be8539 /home ext4 defaults 0 2 使用 UUID 的好处是,它们与磁盘顺序无关。如果你在 BIOS 中更改了存储设备的顺序,或重新插入了存储设备,或者因为某些 BIOS 可能会随机更改存储设备的顺序,那么使用 UUID 会更有效率。 [文件系统] 文件系统]的挂载位置。 类型 挂载设备或分区的文件系统类型,支持多种不同的文件系统:ext2、ext3、ext4、reiserfs、xfs、jfs、smbfs、iso9660、vfat、ntfs、swap 和 auto。 设置为自动类型后,挂载命令会猜测所使用的文件系统类型,这对 CDROM 和 DVD 等移动设备非常有用。 选项 挂载时要使用的参数,有些参数是特定文件系统特有的。例如,默认值参数使用文件系统的默认挂载参数,ext4 的默认参数为:rw、suid、dev、exec、auto、nouser、async。 有关更多参数,请执行以下命令查看 man 手册:# man mount
-
在 Raspberry Pi 上安装和运行 MPICH3
-
ROS 开发:系统安装和环境配置(Ubuntu 和 Raspberry Pi)
-
在Windows 7环境下安装gVim插件coc.nvim的简易指南
-
超实用的Jmeter教程:在Linux环境下安装配置、脚本设计执行以及全面监控与报告指南
-
在Windows内网环境下离线安装宝塔面板的方法
-
在Linux环境下使用Intel编译器安装NetCDF-Fortan库的步骤(适用于4.2及更高版本)