需要在Ubuntu 14.04上安装Mono才能使用Azure。

我一直在使用Ubuntu通过MS Azure进行游戏,但为了管理我的Azure服务器,它要求我安装Silverlight,然后又指导我安装Mono。
我已经下载了Mono,但存档管理器无法打开它。
根据我的阅读,我猜想这是因为我正在运行64位系统,并且我了解到为了在64位系统上运行Mono,需要通过代码进行安装。
我对Ubuntu和Linux都非常陌生。请告诉我在终端会话中运行什么命令以安装Mono,以便我可以回到Azure。
4个回答

安装mono
sudo apt-get install mono-complete

Silverlight在Linux上不可用,但您可以尝试Pipelight等替代方案。

sudo apt-get install mono-complete 对我有用,非常感谢你的帮助。 - Jon295087
如果你遇到了“找不到包”类型的错误,你需要先运行sudo apt-get update来更新你机器上已知包的列表。 - ashes999

如果您在代理服务器或防火墙后面安装Mono时,以下情况可能会发生:
  1. 端口被阻止(keyserver.ubuntu.com:11371)
  2. 无法添加签名密钥

使用以下方法添加签名密钥

    wget "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF" -O out && sudo apt-key add out && rm out

添加仓库

    echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list  

更新仓库列表

sudo apt-get update    

安装Mono(使用粗体字的软件包名称)

应该安装mono-devel软件包以编译代码。

应该安装mono-complete软件包以安装所有内容 - 这应该涵盖大多数“找不到程序集”错误的情况。

应该安装referenceassemblies-pcl软件包以支持PCL编译 - 这将解决大多数软件编译过程中出现的“未安装框架:.NETPortable”错误。


1+1 用于描述步骤非常有帮助,对新读者来说十分实用。 - Zameer Ansari

简介

sudo apt-get install mono-complete实际上在大多数情况下会按预期安装mono。但是,如果您只安装mono-complete而没有先添加Mono项目的GPG签名密钥和软件包存储库(并更新存储库列表),那么您很有可能使用旧版本和过时的TLS/SSL算法以及其他可能有害的代码。

如果您想更安全地使用mono,应按照mono-project.com安装页面或类似页面中描述的说明进行操作。

示例:


sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
sudo apt-get update
sudo apt-get install mono-complete

Mono JIT编译器版本 4.2.1 -> 4.4.2

例子2


apt-get -y update && \
  apt-get -y install \
  wget \
  tar \
  git \
  autoconf \
  libtool \
  automake \
  build-essential \
  mono-devel \
  gettext
wget http://download.mono-project.com/sources/mono/mono-4.6.0.125.tar.bz2 -O mono-4.6.0.125.tar.bz2
tar xvf mono-4.6.0.125.tar.bz2
cd "mono-4.6.0/"
./configure
make
make install

Mono JIT编译器版本4.2.1 -> 4.6.0.125 您还可以在同一页上找到其他稳定版本。
背景信息
使用Ubuntu 16.04和14.04(带有Docker)进行了对Mono .Net实现的测试。
仅安装mono-complete:
- 如果服务器证书过期,不会拒绝连接。
按照“Example1”或“Example2”部分的说明操作:
- 如果服务器证书过期,则拒绝连接。 - 更安全。
我知道这一点是因为我使用trytls来测试C#-Net、F#-Net和VB-Net中的mono与badssl和其他TLS/SSL测试后端。

sudo apt-get install mono-xsp4
对我来说没问题(第一次尝试sudo apt-get install mono-complete,但还是不起作用,然后尝试sudo apt-get install mono-xsp4就可以了)。