在 Ubuntu/Debian 中安装 Mono 3.x



我最近读到Mono 3.0已经发布了C# 5编译器并支持MVC 4:

http://www.mono-project.com/Release_Notes_Mono_3.0

http://tirania.org/blog/archive/2012/Oct-22.html

对于我的一生,我无法确定从哪里获得它作为Linux甚至Windows的软件包。

此页面似乎表明它仍处于测试阶段:

http://www.go-mono.com/mono-downloads/download.html

我尝试在 Ubuntu 12.10 上进行apt-get install mono-complete,但它安装了 2.10.8.1。

我尝试在我的Windows机器上安装MonoDevelop 3,这只向我展示了MVC 3项目,并且似乎正在使用.NET框架。

我是 Mono 的新手,我已经用谷歌搜索了所有可能的东西来尝试看看它是如何工作的,但我很困惑。如果可能的话,我很想让它在 Linux 上运行并尝试一些东西。

有人可以对此有所了解,还是我需要从源代码开始构建它?

这是安装单声道 3.0.1 的完整指南

对于不知道如何在 Ubuntu 3.0.1 上获取新的 Mono 12.04 版本的初学者 (因为我是初学者,在让它工作之前我已经为此工作了 3 天)

获取根访问权限以安装和配置 Mono 3.0.1

sudo -s
***type your root password***

安装 vim 编辑器

apt-get install vim

安装阿帕奇2

apt-get install apache2

安装用于编译单声道的工具

apt-get install autoconf automake libtool g++ gettext libglib2.0-dev libpng12-dev libfontconfig1-dev
apt-get install mono-gmcs
apt-get install git

安装 apache2 线程开发(编译 mod_mono 需要)*

apt-get install apache2-threaded-dev

稍后我们将返回到 apache2 配置

制作获取源代码所需的结构

cd /opt
mkdir mono-3.0

在获取源代码之前移动到该新文件夹

cd /opt/mono-3.0

从 GitHub 获取源代码

git clone git://github.com/mono/mono.git
git clone git://github.com/mono/xsp.git
git clone git://github.com/mono/libgdiplus.git
git clone git://github.com/mono/mod_mono.git

编译 libgdiplus

cd /opt/mono-3.0/libgdiplus
./autogen.sh --prefix=/usr  (the prefix is very important for Ubuntu 12.04)
make
make install

编译单声道

cd /opt/mono-3.0/mono/
make clean
./autogen.sh --prefix=/usr  (the prefix is very important for Ubuntu 12.04)
make
make install

编译 xsp

cd /opt/mono-3.0/xsp
./autogen.sh --prefix=/usr  (the prefix is very important for Ubuntu 12.04)
make
make install

编译mod_mono

cd /opt/mono-3.0/mod_mono
./autogen.sh --prefix=/usr  (the prefix is very important for Ubuntu 12.04)
make
make install

安装 mod_mono 后,文件 mod_mono.conf*as 已添加到您的 apache2 文件夹(/etc/apache2)*

配置阿帕奇2

配置 apache 的默认站点 ### (可选*)**

vim /etc/apache2/sites-available/default
Modify the line "DocumentRoot /var/www" by "DocumentRoot /var/www/YourFolder" (YourFolder is the folder where you publishing your website!)

配置对文件夹的权限(可选*)**

cd /var/www/YourFolder
sudo chown -R root:www-data .
sudo chmod -R 774 .
sudo usermod -a -G www-data <yourusername>

在 apache2.conf 中添加包含mod_mono

vim /etc/apache2/apache2.conf
Add "Include /etc/apache2/mod_mono.conf" at the end of the file (without quotes!)

在 mod_mono.conf 中添加指向 ASP .NET 4.0 的指针

vim /etc/apache2/mod_mono.conf
Add "MonoServerPath /usr/bin/mod-mono-server4" (without quotes!) under the "If Modules condition"

重新启动 apache2服务器/etc/init.d/apache2 重新启动

Mono 3.x 对于 Ubuntu 12.10 来说太过前沿了。以这种方式从 directhex 的 PPA 中获取预览包(这将安装 3.2.1):

sudo add-apt-repository ppa:directhex/monoxide

(如果使用 Ubuntu saucy 13.10,添加仓库后需要编辑文件/etc/apt/sources.list.d/directhex-monoxide-saucy.list,并将saucy一词替换为raring)

然后,在那之后:

sudo apt-get update && sudo apt-get dist-upgrade

如果您之前安装了 Monodevelop,这也将为您提供 MonoDevelop 4.x。

注意:directhex 不是创建 PPA 的随机人员,他是所有基于 Mono 和 Mono 的软件包的 Debian/Ubuntu 维护者团队的一员。因此,使用它是升级基础架构的最官方方法。


对于 debian 用户:mono 3.0.6 和 MonoDevelop 4.0.x 已经在 debian 测试中可用。所以我建议得到这个是:

安装 debian
  1. 测试(目前名为 debian jessie)。
  2. 通过执行sudo apt-get purge mono-runtime卸载单声道(执行此操作后,抵制做sudo apt-get autoremove的诱惑,否则您将破坏系统,我在这里报告为错误)。
  3. 修改/etc/apt/sources.list,找到提到main源的第一行,并将单词jessie重命名为sid
  4. sudo apt-get update.
  5. 通过sudo apt-get install monodevelop安装 monodevelop,这也会将 mono 作为依赖项。
  6. 还原您在步骤 3 中执行的操作。
  7. 再次执行步骤 4。

这样你就有一个或多或少的现代发行版(与 debian 稳定版相反),以及非常非常现代的单声道软件包(Mono 的前沿版本通常非常稳定)。

F# 用户:Mono 3.0.6 有一个错误,阻止此语言在此版本中工作,请改用 Mono 3.2.x。

我已经在Ubuntu Raring 上从源代码安装单声道 3.x,直到几个步骤:

1:一键获取依赖项:

sudo apt-get install build-essential autoconf automake 
bison flex gtk-sharp2-gapi boo gdb valac libfontconfig1-dev 
libcairo2-dev libpango1.0-dev libfreetype6-dev libexif-dev 
libtiff4-dev libgif-dev zlib1g-dev libatk1.0-dev libjpeg8-dev 
libjpeg-turbo8-dev libglib2.0-dev libgtk2.0-dev libglade2-dev 
libart-2.0-dev libgnomevfs2-dev libgnome-desktop-dev 
libgnome2-dev libgnomecanvas2-dev libgnomeui-dev libgnomeprint2.2-dev 
libgnomeprintui2.2-dev libpanel-applet-4-dev 
libnautilus-extension-dev librsvg2-dev libgtkhtml3.14-dev 
libgtksourceview2.0-dev libgtksourceview2.0-dev libvte-dev 
libwnck-dev libnspr4-dev libnss3-dev libwebkit-dev libvala-0.18-dev

2:在某处创建一个文件夹来保存源:

sudo mkdir /opt/mono-3

3:使用 git 克隆到文件夹中

cd /opt/mono-3
sudo git clone git://github.com/mono/mono.git
cd  mono
sudo git checkout mono-3.0.12

4:构建和安装

sudo ./autogen.sh --prefix=/usr/local
sudo make
sudo make install

就是这样!

要获取 System.Drawing.dll 和 System.Windows.Forms 中的最新更改.dll您还需要配置、构建和安装 libgdiplus。

cd libgdiplus
./autogen.sh --prefix=/usr/local
make
make install

apt-get install安装您的发行版附带的任何版本的 Mono,似乎是 2.10.8.1。 您的发行版可能有也可能没有较新的 Mono 软件包,您可能需要在发行版的软件包管理器中选择一些较新的更新通道。 由于您没有提到您使用的是哪个 Linux 发行版(以及它的哪个版本),因此无法回答。

apt-get表明它是基于 Debian/Ubuntu 的东西,但有许多不同的版本。 我是Mac人,所以我只是不知道。

有关如何从源代码编译的说明,请参阅 http://www.mono-project.com/Compiling_Mono。

但是,这个问题确实属于 superuser.com,如果你在那里问它会得到更好的答案。

我没有从任何地方找到这个链接,所以它可能是非官方的,但你可以从这里获得 Mono 3.0.10 的 Windows 安装程序:

http://download.mono-project.com/archive/3.0.10/windows-installer/mono-3.0.10-gtksharp-2.12.11-win32-0.exe

编辑:要确保您下载的是最新版本,请打开 http://download.mono-project.com/archive/,然后检查每个版本子目录(从最后一个开始并移回),直到找到包含"Windows-installer"子目录的子目录。

现在有一个指向 Mono 3.0.1 的 Windows 安装程序的链接。不幸的是,它似乎没有安装在Windows 7 64位上。你可能有更好的运气。

http://www.go-mono.com/mono-downloads/download.html

为了完成Dominique Goudreault关于" Denis The Menace在评论中提出的问题的伟大解决方案,"Ubuntu 13.04 x86。它说/usr/bin/ld: testgdi.o:对符号 'g_print'的未定义引用">

请按照这个为我完成的简单技巧进行操作。

http://www.sgvulcan.com/libgdiplus-2-10-9-build-fails-on-slacware-current64-2012-06/

我无法随心所欲地回复评论,所以我必须在这里提出另一个答案,有什么更好的做法建议吗?

更新:Opps,我没有注意到大卫五世已经指出了解决方案,将所有功劳都归功于他,我的链接说了同样的事情,但可能提供了更清晰的路径。 :P

最新更新