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