樹莓派ASP.NET環(huán)境配置過程詳解
在樹莓派上部署ASP.NET環(huán)境(樹莓派做ASP.NET項(xiàng)目服務(wù)器),之后Windows上開發(fā)的ASP.NET項(xiàng)目可以部署在樹莓派上。 在樹莓派上部署ASP.NET環(huán)境(樹莓派做ASP.NET項(xiàng)目服務(wù)器),之后Windows上開發(fā)的ASP.NET項(xiàng)目可以部署在樹莓派上。配置過程如下:
前言:本篇文章內(nèi)容是根據(jù)mono官網(wǎng)上查閱的配置教程所寫,當(dāng)時(shí)做期末課設(shè)的時(shí)候一邊查翻譯一邊配置(好像當(dāng)時(shí)訪問這個(gè)網(wǎng)站還要禾斗學(xué)上網(wǎng)),最終親身試驗(yàn)可以用,隨后在word上做了配置過程筆記,現(xiàn)在搬上來。
mono教程官網(wǎng)網(wǎng)址:https://www.mono-project.com/download/preview/#download-lin-raspbian
1.安裝Mono。Mono是Xamarin公司開發(fā)的一個(gè)跨平臺(tái).NET運(yùn)行環(huán)境。安裝Mono是必不可少的一個(gè)關(guān)鍵步驟。
2. 在安裝前,先查看下樹莓派系統(tǒng)的版本
lsb_release -a
3. 記住紅框中的這個(gè)版本號(hào)

4.將Mono存儲(chǔ)庫添加到系統(tǒng)(看你系統(tǒng)版本,選一個(gè)安裝)注意:這些軟件包應(yīng)該在較新的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軟件包才能安裝所有內(nèi)容-這應(yīng)涵蓋大多數(shù)“找不到組件”錯(cuò)誤的情況。
sudo apt install mono-complete
3)安裝軟件包mono-dbg以獲得框架庫的調(diào)試符號(hào)-允許您獲取堆棧跟蹤中的行號(hào)。
sudo apt install mono-dbg
4)安裝軟件包referenceassemblies-pcl以獲得PCL編譯支持-這將解決軟件編譯過程中大多數(shù)“未安裝框架:.NETPortable”錯(cuò)誤的情況。
sudo apt install referenceassemblies-pcl
5)安裝軟件包c(diǎn)a-certificates-mono以獲得HTTPS連接的SSL證書。如果在建立HTTPS連接時(shí)遇到麻煩,請安裝此軟件包。
sudo apt install ca-certificates-mono
6)安裝軟件包mono-xsp4來運(yùn)行ASP.NET應(yīng)用程序。
sudo apt install mono-xsp4
筆記:默認(rèn)情況下,3.12之前的Linux上的Mono不信任任何SSL證書,因此在訪問HTTPS資源時(shí)會(huì)出錯(cuò)。不再需要此功能,因?yàn)?.12及更高版本包含一個(gè)新工具,該工具可在軟件包安裝時(shí)運(yùn)行,并將Mono的證書存儲(chǔ)與系統(tǒng)證書存儲(chǔ)同步(在較舊的版本上,您必須通過運(yùn)行導(dǎo)入Mozilla的受信任證書列表mozroots --import --sync)。某些系統(tǒng)的配置方式使得在安裝Mono時(shí)不會(huì)引入必要的軟件包,在這種情況下,請確保ca-certificates-mono已安裝軟件包。
6.驗(yàn)證安裝。安裝Mono之后,最好需要運(yùn)行一個(gè)快速的Hello World程序以確保正確設(shè)置了所有程序。這樣,在嘗試編寫或運(yùn)行更復(fù)雜的應(yīng)用程序時(shí),您知道Mono是正常的。
1)控制臺(tái)Hello World
要測試基本功能是否可用,請將以下代碼復(fù)制到名為hello.cs的文件中。沒有這個(gè)文件就在你喜歡的位置新建個(gè)。
using System;
public class HelloWorld
{
public static void Main(string[] args)
{
Console.WriteLine ("Hello Mono World");
}
}使用csc命令編譯:
csc hello.cs
注意:csc編譯器并非在所有平臺(tái)上或在非常舊的Mono版本中都可用,在這種情況下,請改用mcs?! ?/p>
編譯之后,編譯器將創(chuàng)建“ hello.exe”,您可以使用以下命令運(yùn)行它:
mono hello.exe
該程序應(yīng)運(yùn)行并輸出:Hello Mono World
2)HTTPS連接。
為了確保HTTPS連接正常運(yùn)行,請運(yùn)行以下命令以檢查是否可以連接到baidu.com
csharp -e 'new System.Net.WebClient ().DownloadString ("https://www.baidu.com")'如果一切正常,該程序?qū)⒋蛴【W(wǎng)站的html代碼,否則將拋出異常。
3)WinForm's Hello World
以下程序測試編寫System.Windows.Forms應(yīng)用程序
using System;
using System.Windows.Forms;
public class HelloWorld : Form
{
static public void Main ()
{
Application.Run (new HelloWorld ());
}
public HelloWorld ()
Text = "Hello Mono World";
}要進(jìn)行編譯,請使用帶有-r選項(xiàng)的csc來告訴編譯器提取WinForms庫:
csc hello.cs -r:System.Windows.Forms.dll
編譯器將創(chuàng)建“ hello.exe”,您可以使用以下命令運(yùn)行它:
mono hello.exe
4)ASP.NET Hello World
創(chuàng)建一個(gè)名稱為WebForm1.aspx的文本文件并添加內(nèi)容:
<%@ 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>然后從該文件目錄運(yùn)行xsp4命令:(先cd打開文件目錄)
xsp4 --port 9000
5)Gtk#Hello World
以下程序測試編寫Gtk#應(yīng)用程序。
using Gtk;
using System;
class Hello
{
static void Main ()
{
Application.Init ();
Window window = new Window ("Hello Mono World");
window.Show ();
Application.Run ();
}
}要進(jìn)行編譯,請使用帶有-pkg選項(xiàng)的mcs來告訴編譯器引入Gtk#庫(請注意,必須在系統(tǒng)上安裝Gtk#才能起作用):
mcs hello.cs -pkg:gtk-sharp-2.0
編譯器將創(chuàng)建“ hello.exe”,您可以使用以下命令運(yùn)行它:
mono hello.exe
7.查看Mono版本信息
mono -V
8.安裝libgdiplus
Libgdiplus是一個(gè)Mono單聲道庫,用于對非Windows操作系統(tǒng)提供GDI+兼容的API。libgdiplus是mono中的System.Drawing依賴的一個(gè)組件,用于顯示web頁面基本顏色等。
后面發(fā)現(xiàn),裝Mono時(shí),libgdiplus就被默認(rèn)安裝了,要想手動(dòng)安裝可運(yùn)行下面的命令試試
sudo apt install libgdiplus
到此這篇關(guān)于樹莓派ASP.NET環(huán)境配置的文章就介紹到這了,更多相關(guān)樹莓派環(huán)境配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
ASP.NET?MVC5網(wǎng)站開發(fā)用戶登錄、注銷(五)
這篇文章主要介紹了ASP.NET?MVC5?網(wǎng)站開發(fā)中用戶登錄、注銷的實(shí)現(xiàn)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2015-09-09
ASP.NET Core WebApi版本控制的實(shí)現(xiàn)
這篇文章主要介紹了ASP.NET Core WebApi版本控制的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
.net簡單使用Log4net的方法(多個(gè)日志配置文件)
log4net是.net中常用的一個(gè)日志記錄工具,下面這篇文章主要給大家介紹了關(guān)于.net簡單使用Log4net的方法(多個(gè)日志配置文件),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧2018-11-11

