初学者如何在 Linux 中开始使用 Mono?

Posted

技术标签:

【中文标题】初学者如何在 Linux 中开始使用 Mono?【英文标题】:How to get started with Mono in Linux for a beginner? 【发布时间】:2010-10-22 05:07:13 【问题描述】:

作为初学者,当我想从 Visual Studio 切换时,如何开始在 Linux 中使用 Mono?

是否有一些简单的方法可以像 Visual Studio 一样安装它并开始使用? 到目前为止,就我所看到的而言,甚至开始看起来都很复杂。

在 linux 中安装和配置 Mono 工作量很大吧?

或者是否有一些发行版可以让我直接安装并开始使用 Linux 中的应用程序?

【问题讨论】:

【参考方案1】:

我自己最近开始涉足 Mono,到目前为止,我意识到 MonoProject 在这方面取得了巨大的进步。值得调查。

话虽如此,最简单的方法是使用对 Mono 友好的 Linux 发行版进行设置,例如 Suse 或 Ubuntu。就个人而言,我使用 Ubuntu 8.10 进行了尝试。

在您正确设置 Linux 发行版后,下载并安装 MonoDevelop。这是一个与 Mono 平台紧密集成的开源 IDE。 MonoDevelop 被视为 SharpDevelop 的一个分支,旨在从头开始使用 Mono 编译器。

到目前为止,这是使用 Mono 进行设置的最简单、最快捷的方法。 MonoDevelop IDE 甚至与 Visual C# Express 非常相似。它配备了项目/解决方案管理、使用 GTK# 框架的 GUI 开发、集成调试器以及您在 IDE 中期望的许多其他功能,例如代码完成、行号、代码折叠等。

MonoProject 的人们正在使用这套工具。

希望这可以帮助您入门。

Mono Project Homepage

Mono Develop Homepage

【讨论】:

与 Visual Studio 中的 WinForms 相比,在 MonoDevelop 中使用 GTK# 的效果如何?背后的编码,事件的东西等,有点相似吗?或者是一个完全不同的世界? (比如从 WinForms 迁移到 WPF 之类的......) 虽然 GTK# 是一个与 WinForms 完全不同的平台,但您也会发现一些相似之处。 GTK# 具有信号的概念,这实际上与 .net 中的事件处理程序相同。此外,在 WinForms 具有控件层次结构的地方,GTK# 使用 Widget 层次结构......再次非常相似的概念。 GTK# 旨在成为一个完整的 GUI 解决方案,因此许多 WinForms 控件从单选按钮到窗口管理器等都是相同的。我会说 GTK# 与 WinForms 相比 WPF 更相似。试试看,让我们知道您的想法。【参考方案2】:

有一些关于 Mono 的有趣书籍,虽然它们可能有点旧。不过,也许值得抓住一个并看一看以便启动。

    Practical Mono Mono: A developer's notebook Cross-Platform .NET development Mono Kick-start

然后,我会在 Linux 机器上安装最新的 Mono (2.4)(他们使用的是 OpenSuse,因此开发总是很顺利,但我们内部也使用 Ubuntu)并开始使用编译器, MonoDevelop(从 2.0 开始就相当不错了)等等。

唯一的难点是编写 GUI 应用程序,尽管我的团队在不同的 Unix 风格上广泛使用 MWF。但其他一切都会如你所愿。例如,我对远程处理的出色表现感到特别满意。

如果你习惯了 Linux,那会容易得多,否则我也建议你按照一些教程来习惯它。

请记住,我们也将提供 NUnit 和 NAnt 等工具,因此您可以开始在 Windows 和 Linux 上编写代码并在这两个平台上进行测试和编译。

【讨论】:

几年前,我只需要一本“Mono:开发者笔记本”就可以在 Debian 上进行单声道开发。怀疑这本书现在可能有点过时了。 值得注意的是,这些单声道书籍自 2005 年以来没有一本更新过。【参考方案3】:

在刚刚发布的Ubuntu 9.04 中,最新的 Mono 开发环境接近于:

apt-get install monodevelop

我曾经同意你的观点,使用 Mono 有点困难,但最新版本的 Ubuntu 已经消除了这个障碍。最新版本的Monodevelop 使用起来绝对令人愉悦。

不使用 Ubuntu?然后我会按照 Peter 的建议使用 VMWare image。

【讨论】:

【参考方案4】:

在 linux 下使用 mono 非常简单u can download

vmware 映像 一个 linux live 发行版

一切都开始了。

【讨论】:

【参考方案5】:

如果您习惯使用visual-studio,您仍然可以在Visual Studio 中进行开发,并将您的二进制文件复制到Linux/OSX 或其他任何地方。或者更好的是,如果您有共享驱动器,只需将 VS-Project 输出目录重新配置到共享位置即可。

使用mono 编译器或monodevelop 可能有一些优势,但既然您是刚入门,上面的内容确实是最容易做的事情。如果您想在 Linux 上运行,mono 安装程序是快速启动和运行的绝佳选择。不幸的是,没有适用于最新单声道版本的安装程序,因此您要么需要管理员权限,要么需要从源代码编译。

http://ftp.novell.com/pub/mono/archive/1.9.1/linux-installer/2/mono-1.9.1_2-installer.bin

【讨论】:

安装程序因某种原因被终止(它经常产生损坏的安装)。请使用您的发行版提供的软件包来安装 Mono。【参考方案6】:

要安装最新的Mono 3.2.5+ 和MonoDevelop 4.2.1+,最好使用tpokorra repository。

【讨论】:

【参考方案7】:

我能找到的最简单的方法是在他们的网站上下载 OpenSUSE VMWare 映像并运行它。您可以获得所有需要的工具 :) 预配置。

【讨论】:

【参考方案8】:

Debian 和 Ubuntu 以及可能所有其他子系统在存储库中都有单声道。所以,在 Linux 中设置 mono 就像

aptitude install monodevelop

但是我建议版本 2,它需要在 Debian 中使用“sid”存储库(不了解 Ubuntu)。

vim /etc/apt/sources.list [ :%s/squeeze/sid/g ]

【讨论】:

以上是关于初学者如何在 Linux 中开始使用 Mono?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Mono 编译 Visual Studio C# 项目

Mono+CentOS+Jexus

如何使用Mono编译Visual Studio C#项目

如何在linux终端中查看C#程序的非零返回类型的值,其中mono用于运行C#代码?

如何使用 Mono/C# 程序调用 linux/c++ 函数?

如何在 Linux 中从 Mono/C# 访问游戏杆/游戏手柄?