在樹莓派上部署ASP.NET環境(樹莓派做ASP.NET專案服務器),之后Windows上開發的ASP.NET專案可以部署在樹莓派上,配置程序如下:
前言:本篇文章內容是根據mono官網上查閱的配置教程所寫,當時做期末課設的時候一邊查翻譯一邊配置(好像當時訪問這個網站還要禾斗學上網),最終親身試驗可以用,隨后在word上做了配置程序筆記,現在搬上來,
mono教程官網網址:https://www.mono-project.com/download/preview/#download-lin-raspbian
1. 安裝Mono,Mono是Xamarin公司開發的一個跨平臺.NET運行環境,安裝Mono是必不可少的一個關鍵步驟,
2. 在安裝前,先查看下樹莓派系統的版本
lsb_release -a
3. 記住紅框中的這個版本號

4. 將Mono存盤庫添加到系統(看你系統版本,選一個安裝)注意:這些軟體包應該在較新的Raspbian版本上作業,僅測驗以下列出的版本,
Raspbian 10:
sudo apt install apt-transport-https dirmngr gnupg ca-certificates
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb https://download.mono-project.com/repo/debian stable-raspbianbuster main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update
Raspbian 9:
sudo apt install apt-transport-https dirmngr gnupg ca-certificates
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb https://download.mono-project.com/repo/debian stable-raspbianstretch main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update
5. 安裝單聲道(mono)
1)安裝軟體包mono-devel來編譯代碼,
sudo apt install mono-devel
2)安裝mono-complete軟體包才能安裝所有內容-這應涵蓋大多數“找不到組件”錯誤的情況,
sudo apt install mono-complete
3)安裝軟體包mono-dbg以獲得框架庫的除錯符號-允許您獲取堆疊跟蹤中的行號,
sudo apt install mono-dbg
4)安裝軟體包referenceassemblies-pcl以獲得PCL編譯支持-這將解決軟體編譯程序中大多數“未安裝框架:.NETPortable”錯誤的情況,
sudo apt install referenceassemblies-pcl
5)安裝軟體包ca-certificates-mono以獲得HTTPS連接的SSL證書,如果在建立HTTPS連接時遇到麻煩,請安裝此軟體包,
sudo apt install ca-certificates-mono
6)安裝軟體包mono-xsp4來運行ASP.NET應用程式,
sudo apt install mono-xsp4
筆記:默認情況下,3.12之前的Linux上的Mono不信任任何SSL證書,因此在訪問HTTPS資源時會出錯,不再需要此功能,因為3.12及更高版本包含一個新工具,該工具可在軟體包安裝時運行,并將Mono的證書存盤與系統證書存盤同步(在較舊的版本上,您必須通過運行匯入Mozilla的受信任證書串列mozroots --import --sync),某些系統的配置方式使得在安裝Mono時不會引入必要的軟體包,在這種情況下,請確保ca-certificates-mono已安裝軟體包,
6. 驗證安裝,安裝Mono之后,最好需要運行一個快速的Hello World程式以確保正確設定了所有程式,這樣,在嘗試撰寫或運行更復雜的應用程式時,您知道Mono是正常的,
1)控制臺Hello World
要測驗基本功能是否可用,請將以下代碼復制到名為hello.cs的檔案中,沒有這個檔案就在你喜歡的位置新建個,
using System;
public class HelloWorld
{
public static void Main(string[] args)
{
Console.WriteLine ("Hello Mono World");
}
}
使用csc命令編譯:
csc hello.cs
注意:csc編譯器并非在所有平臺上或在非常舊的Mono版本中都可用,在這種情況下,請改用mcs,
編譯之后,編譯器將創建“ hello.exe”,您可以使用以下命令運行它:
mono hello.exe
該程式應運行并輸出:Hello Mono World
2)HTTPS連接,
為了確保HTTPS連接正常運行,請運行以下命令以檢查是否可以連接到baidu.com
csharp -e 'new System.Net.WebClient ().DownloadString ("https://www.baidu.com")'
如果一切正常,該程式將列印網站的html代碼,否則將拋出例外,
3)WinForm's Hello World
以下程式測驗撰寫System.Windows.Forms應用程式
using System;
using System.Windows.Forms;
public class HelloWorld : Form
{
static public void Main ()
{
Application.Run (new HelloWorld ());
}
public HelloWorld ()
{
Text = "Hello Mono World";
}
}
要進行編譯,請使用帶有-r選項的csc來告訴編譯器提取WinForms庫:
csc hello.cs -r:System.Windows.Forms.dll
編譯器將創建“ hello.exe”,您可以使用以下命令運行它:
mono hello.exe
4)ASP.NET Hello World
創建一個名稱為WebForm1.aspx的文本檔案并添加內容:
<%@ Page Language="C#" AutoEventWireup="true"%>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Sample Calendar</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:calendar showtitle="true" runat="server"></asp:calendar>
</div>
</form>
</body>
</html>
然后從該檔案目錄運行xsp4命令:(先cd打開檔案目錄)
xsp4 --port 9000
5)Gtk#Hello World
以下程式測驗撰寫Gtk#應用程式,
using Gtk;
using System;
class Hello
{
static void Main ()
{
Application.Init ();
Window window = new Window ("Hello Mono World");
window.Show ();
Application.Run ();
}
}
要進行編譯,請使用帶有-pkg選項的mcs來告訴編譯器引入Gtk#庫(請注意,必須在系統上安裝Gtk#才能起作用):
mcs hello.cs -pkg:gtk-sharp-2.0
編譯器將創建“ hello.exe”,您可以使用以下命令運行它:
mono hello.exe
7. 查看Mono版本資訊
mono -V
8. 安裝libgdiplus
Libgdiplus是一個Mono單聲道庫,用于對非Windows作業系統提供GDI+兼容的API,libgdiplus是mono中的System.Drawing依賴的一個組件,用于顯示web頁面基本顏色等,
后面發現,裝Mono時,libgdiplus就被默認安裝了,要想手動安裝可運行下面的命令試試
sudo apt install libgdiplus
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/460732.html
標籤:.NET技术
