09. 树莓派ASP.NET环境配置
在树莓派上部署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
09. 树莓派ASP.NET环境配置的更多相关文章
- (转) 一步一步学习ASP.NET 5 (一)- 基本概念和环境配置
转发:微软MVP 卢建晖 的文章,希望对大家有帮助. 编者语:时代在变,在csdn开博一年就发了那么的两篇文章,无论是什么原因都觉得有愧了.但是今年重心都会在这里发表一些文章,和大家谈谈.NET, 移 ...
- ASP.NET vNext (一)- 基本概念和环境配置
ASP.NET vNext (一)- 基本概念和环境配置 转发:微软MVP 卢建晖 的文章,希望对大家有帮助. 编者语:时代在变,在csdn开博一年就发了那么的两篇文章,无论是什么原因都觉得有愧了.但 ...
- 一步一步学习ASP.NET 5 (一)-基本概念和环境配置
编者语:时代在变,在csdn开博一年就发了那么的两篇文章.不管是什么原因都认为有愧了.可是今年重心都会在这里发表一些文章,和大家谈谈.NET, 移动跨平台,云计算等热门话题.希望有更好的交流. 好吧言 ...
- 解读ASP.NET 5 & MVC6系列(4):核心技术与环境配置
asp.net 5是下一代的asp.net,该版本进行了全部重写以适用于跨平台,新新版本中,微软引入了如下工具与命令:DNVM.DNX.DNU. DNVM(.NET Version Manager): ...
- [原创]IIS7.5下配置ASP+PHP环境及错误处理(0xc0000135)
IIS7.5下配置ASP+PHP环境及错误处理(0xc0000135) http://user.qzone.qq.com/93701178/blog/1398155812 操作系统更新至Win7或Wi ...
- 如何在IIS7下配置ASP+ACCESS环境
如何在IIS7下配置ASP+ACCESS环境 | 浏览:901 | 更新:2013-01-16 17:46 1 2 3 4 5 6 7 分步阅读 默认装完IIS7之后,使用ASP程序会发现提示数据库连 ...
- ASP.NET环境下配置FCKEditor并上传图片及其它文件
文章转自:http://blog.sina.com.cn/s/blog_568e66230100hy6a.html FCKEditor于2009年被更名为新一代的CKEditor和CKFinder,见 ...
- 【1】Asp.Net Core2.2从环境配置到应用建立
作者:Eleven 来源:公众号[软谋net] [前言] .Net Core开源&跨平台,已经肉眼可见将成为.Net平台的未来,在企业招聘需求上已经频频见到,接触到很多公司内部都已经开始尝试C ...
- 第一节:ASP.NET开发环境配置
第一节:ASP.NET开发环境配置 什么是ASP.NET,学这个可以做什么,学习这些有什么内容? ASP.NET是微软公司推出的WEB开发技术. 2002年,推出第一个版本,先后推出ASP.NET2. ...
随机推荐
- Molecule实现数栈至简前端开发新体验
Keep It Simple, Stupid. 这是开发人耳熟能详的 KISS 原则,也像是一句有调侃意味的善意提醒,提醒每个前端人,简洁易懂的用户体验和删繁就简的搭建逻辑就是前端开发的至简大道. 这 ...
- 【网鼎杯】jocker--部分代码加壳逆向处理
Main函数,用户输入flag,长度为24位 Wrong函数进行了简单的异或操作 Omg函数进行异或操作,根据提示来看应该是假check Encrypt无法生成伪代码 发现有加壳以及自修改,下断点动调 ...
- React优点?
声明式, 组件化, 一次学习, 随处编写. 灵活, 丰富, 轻巧, 高效
- @Required 注解?
这个注解表明bean的属性必须在配置的时候设置,通过一个bean定义的显式的属性值或通过自动装配,若@Required注解的bean属性未被设置,容器将抛出BeanInitializationExce ...
- CI_CD 简单了解
- Mybatis 的一级、二级缓存?
1)一级缓存: 基于 PerpetualCache 的 HashMap 本地缓存,其存储作用域为 Session,当 Session flush 或 close 之后,该 Session 中的所有 C ...
- HTML 5中不同的新表单元素类型是什么?
HTML 5推出了10个重要的新的表单元素: Color. Date Datetime-local Email Time Url Range Telephone Number Search
- asp.net 可视化操作(一)——asp.net安装与使用
目录 安装 创建网页 设计网页 运行 vs 2019安装asp.net 1.安装 打开vs,选择继续但无需代码 -->工具–>获取工具和功能 勾选如下选项后,点击关闭 点击更新等待安装完成 ...
- 以太网EMC(浪涌)中心抽头方案(节约空间)
- 浅析Node与Element
起因 起因有二: 在看winter老师的分享:<一个前端的自我修养>时,有注意到这么一幅图,里面有写childNode和children属性. 昨天有学弟问起我,能否自己定义一个所有元素节 ...