这里使用的是Mono,而非Net Core,因为Net Core坑太多了,不适合跨平台移植软件。还有做跨平台软件需要注意外部文件路径问题,通过 Path.DirectorySeparatorChar 获取平台路径特征与通过 AppDomain.CurrentDomain.BaseDirectory 获取运行程序的绝对根目录,同时,win32的类库目前是不能被Mono运行的。Net的类库是完全可运行,需要注意的是Windows下有些原生类库在Mono里面没有集成,需要设置生成时复制到输出目录。(下载见Linux公社1号FTP服务器)
首先下载Mono官方的源代码,然后在树莓派上进行编译,编译时间过长,清耐心等待数小时。安装过程中会出现依赖的软件未安装,导致安装停止,需要一步一步的进行安装依赖通过“sudo apt-get xxx”或“sudo apt-get xxx=xxx.xxx.xxx”来解决。
#这里是案例,可以下载最新版进行编译,安装
#下载官方源码包
wget
#解压
tar -xvf mono-4.0.1.44.tar.bz2
#切换路径
cd mono-4.0.1
#配置编译安装路径
./configure --prefix=/usr/local
#编译
make
#安装
make install
#注意安装libgdiplus类库,方便图像程序的运行,如:WinForm等图像库相关的软件的使用
耐心等待数小时后,安装完成,可以用C#写个HelloWorld试试还有WinForm等,看看惊喜。如果还需要AspNet程序的运行,则需要安装 Jexus Web服务器,用于支持AspNet程序的运行。以下是Jexus安装。(下载见Linux公社1号FTP服务器)
#安装
cd /tmp
wget linuxdot.net/down/jexus-5.6.5.tar.gz
tar -zxvf jexus-5.6.5.tar.gz
cd jexus-5.6.5
sudo ./install
#更新
cd /tmp
sudo /usr/jexus/jws stop
wget
tar -zxvf jws-v5.6.4-arm.zip
cd jws-v5.6.4-arm
sudo ./upgrade
sudo /usr/jexus/jws regsvr
sudo /usr/jexus/jws restart
===测试/var/www/default/index.aspx=======
<%@Page Language="C#"%>
<%=DateTime.Now.ToString()%>
==============================
#添加自启动脚本
cd /home/pi
cd .config
mkdir autostart
cd autostart
#添加脚本文件(可以写入多个脚本文件,用于配置不同分辨率连接)
nano webserver.desktop
#添加脚本
[Desktop Entry]
Type=Application
Name=WebServer
Exec=sudo /usr/jexus/jws start
StartupNotify=false
#Ctrl + O、Enter、Ctrl + X #保存退出
以上是基本安装方式,随着版本更新,可能存在出入。