【题外话】

最近入了个树莓派玩,系统装的官方推荐的Hard Float的Raspbian,由于衍生自Debian,所以Mono什么的非常好装。但是官方源中的Mono在Hard Float的Raspbian下是没法完整支持.NET程序的,比如没法在LXDE上运行Winform,但是装Soft Float的话又感觉很亏,所以我们要在Hard Float的Raspbian下装支持Hard Float的.NET环境。

【文章索引】

  1. 安装支持Hard Float的Mono
  2. 安装Gtk#
  3. 安装xsp
  4. 安装mod_mono

【一、安装支持Hard Float的Mono】

Raspberry的论坛上有好心人编译好了Raspberry能用的支持Hard Float的Mono,所以我们分别敲入下列代码安装即可,而且压缩包内都是按目录分好的,直接解压缩到“/”下即可,Mono将安装在“/usr/local/”下。

 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/share/link?shareid=1961660956&uk=2181301491

如果要是之前已经安装过Mono的话,需要先将其完全删除,然后再进行安装。删除可以使用以下命令:

 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不是从官方源中安装的,所以从这步开始的很多组件都只能自己下载源码进行编译安装了。

首先安装必须的组件

 sudo apt-get install automake libtool libgdiplus libpango1.0-dev libatk1.0-dev libgtk2.0-dev libglade2-dev

然后下载Gtk#并安装

 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/share/link?shareid=2574551187&uk=2181301491

装完后去LXDE下就能打开Winform的程序了。不过如果locale设置的不是zh-cn的话,即使安装了中文字体,界面中的字仍然是方块,如下图。

比较简单的方法是修改字体的映射,我们可以修改“/etc/fonts/conf.d/49-sansserif.conf”,将最后<edit></edit>中的sans-serif修改为喜欢的中文字体即可,比如“WenQuanyi Micro Hei”,如下图。

【三、安装xsp】

在Linux下除了能跑Winform的程序外,比较有用的应该是跑Web应用,首先我们需要安装xsp。

 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服务器也是可以的。

 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”,在最后添加如下两句:

 MonoServerPath "/usr/local/bin/mod-mono-server2"
MonoAutoApplication enabled

然后将mod_mono.conf复制到“/etc/apache2/mods-enabled”下,然后重启apache2即可。当然比较传统的方式是将mod_mono.conf移动到mods-available下,然后再在mods-enabled下创建个链接。

【相关链接】

  1. Mono (C#) 2.11.4 hard-float for Raspberry Pi (EXPERIMENTAL):http://www.raspberrypi.org/phpBB3/viewtopic.php?t=37174
  2. 在Linux(Ubuntu/openSUSE/CentOS)下配置ASP.NET(Apache + Mono):http://www.cnblogs.com/mayswind/p/3189724.html

在树莓派Raspbian下安装支持Hard Float的.NET环境的更多相关文章

  1. arm树莓派Raspbian 下安装selenium+chrome

    arm树莓派Raspbian 下安装selenium+chrome 安装selenium pip3 install selenium 安装chromedriver sudo apt-get insta ...

  2. OS X Yosemite下安装Hadoop2.5.1伪分布式环境

    最近开始学习Hadoop,一直使用的是公司配好的环境.用了一段时间后发现对Hadoop还是一知半解,故决定动手在本机上安装一个供学习研究使用.正好自己用的是mac,所以没啥说的,直接安装. 总体流程 ...

  3. Windows下安装 msysGit 以及初始化 Git server环境

    Windows下git工具msysGit使用以及Git server初始化 Windows下git工具,这里选择msysGit,版本为msysGit-netinstall-1.8.1.2-previe ...

  4. 【转】ubuntu下安装eclipse以及配置python编译环境

    原文网址:http://blog.csdn.net/wangpengwei2/article/details/17580589 一.安装eclipse 1.从http://www.eclipse.or ...

  5. Linux下安装java的jdk和配置环境变量

    每次感觉配这个超级简单 但是每次都要查下 记一下好了 Linux下安装jdk,步骤如下 1:下载jdk包:本章使用的为后缀为tar.gz的文件(不需要安装),如jdk-8u111-linux-x64. ...

  6. windows7下安装配置phonegap3.0 (cordavo)开发环境 (涉及android sdk配置)

    之前在mac上安装调试过phonegap,现在公司用的是windows7,所以不得不再进行一次windows下的配置工作,顺便也写下来了 主要麻烦的地方是要在win7下添加好几个环境变量,这一块地方特 ...

  7. 树莓派3下安装TL-WN722N无线网卡驱动

    最近在搞树莓派,我的是国产的树莓派3卡片电脑,想整成一个无线加有线的路由器(树莓派3.TL-WN722N无线网卡.集线器)或者是搭个web认证的WIFI钓鱼热点玩玩. 一开始就遇到问题了,连无线网卡的 ...

  8. raspberrypi树莓派liunx下安装golang1.9环境(debian)

    直接安装go1.6以上版本会出现提示 Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4. Go1.9的构建过程需要用于引导的 Go1.4二 ...

  9. CentOS 7下安装配置搭建jdk+tomcat+MariaDB环境

    1.JDK安装 注意:rpm与软件相关命令 相当于window下的软件助手 管理软件 步骤: 1)查看当前Linux系统是否已经安装java 输入 rpm -qa | grep java 2)卸载两个 ...

随机推荐

  1. 旺财速啃H5框架之Bootstrap(五)

    在上一篇<<旺财速啃H5框架之Bootstrap(四)>>做了基本的框架,<<旺财速啃H5框架之Bootstrap(二)>>篇里也大体认识了bootst ...

  2. ASP.NET Core 中文文档 第四章 MVC(3.8)视图中的依赖注入

    原文:Dependency injection into views 作者:Steve Smith 翻译:姚阿勇(Dr.Yao) 校对:孟帅洋(书缘) ASP.NET Core 支持在视图中使用 依赖 ...

  3. Sublime Text3配置在可交互环境下运行python快捷键

    安装插件 在Sublime Text3下面写代码感觉很不错,但是写Python的时候遇到了一些问题. 用Sublime Text3打开python文件,或者在Sublime Text3下写好pytho ...

  4. ABP框架 - Swagger UI 集成

    文档目录 本节内容: 简介 Asp.net Core 安装 安装Nuget包 配置 测试 Asp.net 5.x 安装 安装Nuget包 配置 测试 简介 来自它的网页:“...使用一个Swagger ...

  5. .Net 分布式云平台基础服务建设说明概要

    1)  背景 建设云平台的基础框架,用于支持各类云服务的业务的构建及发展. 2)  基础服务 根据目前对业务的理解和发展方向,总结抽象出以下几个基础服务,如图所示 3)  概要说明 基础服务的发展会根 ...

  6. iOS开发之Masonry框架源码深度解析

    Masonry是iOS在控件布局中经常使用的一个轻量级框架,Masonry让NSLayoutConstraint使用起来更为简洁.Masonry简化了NSLayoutConstraint的使用方式,让 ...

  7. 来吧,HTML5之基础标签(上)

    什么是html5 HTML 5 是下一代的 HTML.HTML5 仍处于完善之中.然而,大部分现代浏览器已经具备了某些 HTML5 支持. 学习过程中标签的理解 <a>标签  定义超链接, ...

  8. 通过AngularJS实现前端与后台的数据对接(一)——预备工作篇

    最近,笔者在做一个项目:使用AngularJS,从而实现前端与后台的数据对接.笔者这是第一次做前端与后台的数据对接的工作,因此遇到了许多问题.笔者在这些问题中,总结了一些如何实现前端与后台的数据对接的 ...

  9. 【Java每日一题】20170103

    20161230问题解析请点击今日问题下方的"[Java每日一题]20170103"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...

  10. Android MVP+Retrofit+RxJava实践小结

    关于MVP.Retrofit.RxJava,之前已经分别做了分享,如果您还没有阅读过,可以猛戳: 1.Android MVP 实例 2.Android Retrofit 2.0使用 3.RxJava ...