如何在Ubuntu 18.04上安装Mono
Mono是一个基于ECMA / ISO标准开发和运行跨平台应用程序的平台。它是Microsoft .NET框架的免费开源实现。
本教程介绍了如何在Ubuntu 18.04上安装Mono。
先决条件
这些说明假定您以root 用户或具有sudo特权的用户身份登录。
在Ubuntu上安装Mono
在Ubuntu 18.04上安装Mono的最简单和建议的方法是从Mono的存储库中安装它。这是一个相对简单的过程,只需几分钟。
-
首先安装必要的软件包:
sudo apt update
sudo apt install dirmngr gnupg apt-transport-https ca-certificates
-
使用以下命令导入存储库的GPG密钥:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
输出应如下所示:
gpg: key A6A19B38D3D831EF: public key "Xamarin Public Jenkins (auto-signing) <releng@xamarin.com>" imported gpg: Total number processed: 1 gpg: imported: 1
-
通过运行以下命令,将Mono存储库添加到系统源列表中:
sudo sh -c 'echo "deb https://download.mono-project.com/repo/ubuntu stable-bionic main" > /etc/apt/sources.list.d/mono-official-stable.list'
-
一旦APT仓库启用,更新软件包列表,并与安装Mono:
sudo apt update
sudo apt install mono-complete
该
mono-complete
是一个元包安装单声道运行时,开发工具,和所有的库。 -
通过键入以下命令来验证安装,该命令将打印Mono版本:
mono --version
在撰写本文时,Mono的最新稳定版本是6.6.0 Stable(6.6.0.161)。
Mono JIT compiler version 6.6.0.161 (tarball Tue Dec 10 10:36:32 UTC 2019) Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com TLS: __thread SIGSEGV: altstack Notifications: epoll Architecture: amd64 Disabled: none Misc: softdebug Interpreter: yes LLVM: yes(610) Suspend: hybrid GC: sgen (concurrent by default)
就是这样,您已经在Ubuntu上成功安装了Mono,然后就可以开始使用它了。
Mono入门
为了验证所有设置是否正确,我们将构建一个Hello World程序,该程序将打印经典的“ hello world”消息。
打开文本编辑器,然后创建一个hello.cs
包含以下内容的文件:
hello.cs
using System;
public class HelloWorld
{
public static void Main(string[] args)
{
Console.WriteLine ("Hello World!");
}
}
使用csc
编译器生成程序:
csc hello.cs
上面的命令将构建一个名为的可执行文件hello.exe
。
使用以下命令运行可执行文件:
mono hello.exe
输出应如下所示:
Hello, World
如果只想通过键入程序名称来执行程序,则需要设置一个可执行标志:
chmod +x hello.exe
现在,您可以hello.exe
通过键入以下内容来运行文件:
./hello.exe
结论
可从官方Mono软件包存储库中安装最新的稳定Mono发行包。
Ubuntu18.04 Mono、MonoDevelop
1、Add the Mono repository to your system
https://www.mono-project.com/download/stable/
Ubuntu 20.04 (amd64, armhf, arm64, ppc64el)
sudo apt install apt-transport-https dirmngr
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb https://download.mono-project.com/repo/ubuntu vs-bionic main" | sudo tee /etc/apt/sources.list.d/mono-official-vs.list
sudo apt update
Ubuntu 18.04 (i386, amd64, armhf, arm64, ppc64el)
sudo apt install gnupg ca-certificates
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb https://download.mono-project.com/repo/ubuntu stable-bionic main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update
2、Install Mono
sudo apt install mono-devel
3、Verify Installation
After the installation completed successfully, it's a good idea to run through the basic hello world examples on this page to verify Mono is working correctly.
Notes
Mono on Linux before 3.12 by default didn't trust any SSL certificates so you got errors when accessing HTTPS resources. This is not required anymore as 3.12 and later include a new tool that runs on package installation and syncs Mono's certificate store with the system certificate store (on older versions you had to import Mozilla's list of trusted certificates by running mozroots --import --sync). Some systems are configured in a way so that the necessary package isn't pulled in when Mono is installed, in those cases make sure the ca-certificates-mono package is installed.
4、MonoDevelop IDE
https://www.monodevelop.com/
1)Add the Mono repository to your system
Ubuntu 18.04 (i386, amd64, armhf)
sudo apt install apt-transport-https dirmngr
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb https://download.mono-project.com/repo/ubuntu vs-bionic main" | sudo tee /etc/apt/sources.list.d/mono-official-vs.list
sudo apt update
2)、Install MonoDevelop
sudo apt-get install monodevelop
3)、Verify Installation
https://www.monodevelop.com/documentation/creating-a-simple-solution/
using System;
using MyLibrary;
class MainClass
{
public static void Main(string[] args)
{
MyClass test = new MyClass ();
Console.WriteLine("Hello {0}", test);
}
}