树莓派ASP.NET环境配置过程详解

 更新时间:2022年04月22日 10:54:15   作者:刘哄红  
这篇文章主要介绍了树莓派ASP.NET环境配置,本篇文章内容是根据mono官网上查阅的配置教程所写,需要的朋友可以参考下

在树莓派上部署ASP.NET环境(树莓派做ASP.NET项目服务器),之后Windows上开发的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

到此这篇关于树莓派ASP.NET环境配置的文章就介绍到这了,更多相关树莓派环境配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • asp.net 动态输出透明gif图片

    asp.net 动态输出透明gif图片

    要使用asp.net动态输出透明gif图片,也就是用Response.ContentType = "image/GIF"。
    2009-12-12
  • .NET  Visual Studio 代码性能分析工具

    .NET Visual Studio 代码性能分析工具

    大家都知道性能优化对程序员至关重要,一个小问题可能导致程序瘫痪,这里我就给大家介绍如何使用工具帮助程序员进行代码性能优化,需要的朋友可以参考下
    2015-07-07
  • asp.net 脏字典过滤问题 用正则表达式来过滤脏数据

    asp.net 脏字典过滤问题 用正则表达式来过滤脏数据

    asp.net 脏字典过滤问题 用正则表达式来过滤脏数据
    2009-10-10
  • WPF实现画线动画效果

    WPF实现画线动画效果

    这篇文章主要为大家详细介绍了WPF实现画线动画效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • 使用ASP.NET操作IIS7中应用程序

    使用ASP.NET操作IIS7中应用程序

    IIS7的操作和IIS5/6有很大的不同,在IIS7里增加了 Microsoft.Web.Administration 命名空间里,增加了ServerManager、Site几个大类来操作IIS7。本文主要介绍.NET对IIS7的操作。
    2015-10-10
  • ASP.NET中Web API的参数绑定

    ASP.NET中Web API的参数绑定

    本文详细讲解了ASP.NET中Web API的参数绑定,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • asp.net线程批量导入数据时通过ajax获取执行状态

    asp.net线程批量导入数据时通过ajax获取执行状态

    asp.net线程批量导入数据是大家日常工作中常遇到的一个要求,但批量添加时间一般较长,如果能返回执行的状态就好,那么下面这篇文章主要给大家介绍了asp.net线程批量导入数据时通过ajax获取执行状态的方法,有需要的朋友可以参考下。
    2016-12-12
  • asp.net及javascript判断是否手机访问的方法

    asp.net及javascript判断是否手机访问的方法

    这篇文章主要介绍了asp.net及javascript判断是否手机访问的方法,结合实例形式对比分析了asp.net及javascript实现判断访问端类型的相关技巧,需要的朋友可以参考下
    2016-06-06
  • asp.net Google的translate工具翻译 API

    asp.net Google的translate工具翻译 API

    很久前的一天,我想使用这个东西,然后看了下,GooGle的Translate工具目前没有公开API,还是一个逐渐完善的过程,另一方面,利用一段很小的程序就可以得到我们想要的效果。
    2008-12-12
  • c#.NET 写txt文件小例子

    c#.NET 写txt文件小例子

    在.NET里,有时要往TXT文件里写内容,其实很简单。
    2013-06-06

最新评论