在 Ubuntu 上构建 C# 应用程序指南:MonoProject 入门






4.96/5 (8投票s)
这是关于使用 C# 语言在 Ubuntu 上进行编程系列文章的第一部分。在这篇文章中,我讨论了 MonoProject IDE 的一些特性,它用于在 Ubuntu 环境中进行 C# 编程。
引言和背景
实际上,我一直想写一本关于这个主题的书,“在 Ubuntu 上编程 C#!” 但我认为对于那些热情过高的读者,我或许只会为我即将出版的书写一篇小博客文章!自从我开始编程以来,C# 一直是我最喜欢的语言之一,而 Ubuntu 是我喜爱的另一个有趣的软件!我确实写过一篇关于使用 C# 进行跨平台编程的文章,它涵盖了 C# 程序员在编写需要跨多个平台和框架执行的项目时应该知道的大部分内容。在这篇文章中,我将讨论开发者在构建 C# 应用程序时通常需要的一些东西。很多东西,比如
- 语法高亮
- 我毫不怀疑,高级程序员及其效率与代码的语法高亮和颜色有关!
- 项目和解决方案管理
- 编译器和构建器
- 通常,Ubuntu 或 Linux 环境并没有像 Visual Studio 那样“功能齐全”的 IDE,而这是大多数 C# 程序员所钟爱的。
- 我将讨论“功能齐全”的 IDE,它拥有一切!
- 调试器
- 你不想发布有 bug 的代码给公众吧? :-)
- C# 中的其余内容!
虽然这只是我想写的“内容”的一个简短片段,但它足以让你立即开始用 C# 编程应用程序。但首先,你是否阅读了我关于使用 C# 进行跨平台开发的文章?如果没有,请务必阅读 - 使用 C# 进行跨平台开发。在那篇文章中,我谈到了 C# 本身,以及 C# 如何在 Ubuntu 环境中直观地执行。在这篇文章中,我将讨论 IDE、特性和服务,然后我将讨论使用 C# 或托管环境进行编程的一些核心概念。在托管环境中,大部分繁重的工作都由 IDE 完成,而开发人员只需“专注于”逻辑。这就是我在这篇博客中要谈论的内容!
设置环境…
我在上一篇文章中已经讨论过环境设置,所以只是接着从那里继续。这个过程包含一系列要在 shell (在 Ubuntu 中称为终端) 中执行的小代码块和片段。我们要安装的是 Mono Project 的 IDE,该软件包包含我们在 Ubuntu 上开发 C# 程序所需的一切。
以下各节将为希望将应用程序移植到 Ubuntu 的 C# 开发人员提供资源和帮助提示。目前,请先安装 Mono Project… 记住要安装 Mono Project 的 IDE,它们是两个不同的东西。
首先,请在你的 Ubuntu 中打开终端,(在你的 Ubuntu 中可能有所不同,因为 Ubuntu 本身有多种口味和发行版)。
我使用的是 Ubuntu Studio,所以它看起来是这样的,你的可能在左侧、底部或其他位置!打开它,然后输入以下命令来安装和设置 Ubuntu 上的 C# 编程环境。
第一步是向你的 Ubuntu 系统添加存储库,因为最初 Ubuntu 并不知道从哪里获取 Mono Project。所以你需要先设置好存储库。
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
将你的密码添加到流中并继续。这会将存储库添加到你的系统,并且它会检查存储库包是否有任何更新 (不会安装!)。这仅仅是个开始…
拥有不同的 Linux?
Mono Project 在 Linux 上可用 (当然,这就是为什么我们在 Ubuntu 上使用它!),因此任何 Linux 发行版都可以使用它。如果你有不同的 Linux 发行版,你可能想访问附加链接 (下方),因为不同的 Linux 发行版在它们的终端和 shell 的语法方面肯定会有不同的风格。
第二步是安装 Mono Project 本身。Mono Project 是 C# 编译器、Mono 包、依赖项和其他工具的集合,例如命令行指令和调试器。Mono Project 有一个非常方便的命令来安装整套组件和二进制文件到系统中。只需执行以下 apt 命令。
$ sudo apt-get install mono-complete
这会安装 Mono Project 和所需的组件,不仅仅是编译器和“微小的”周边东西。在此步骤中,你已经安装了 Mono,但仅通过命令行和终端。如果你想使用功能齐全的 IDE,请继续下一个命令。建议使用 Mono Project 的 IDE,因为在使用 IDE 而不是命令行时会更简单方便。
$ sudo apt-get install monodevelop
这会花费 (很长时间;取决于你的机器和互联网连接) 。一旦完成,你就可以启动 IDE 并开始使用它进行 C# 编程了。要运行 IDE,你可以从已安装的应用程序列表中选择图标
这是两个不同的东西!我将分别讨论这两个东西。
MonoDevelop
MonoDevelop 是用于构建、编辑和部署 C# 应用程序的 IDE (集成开发环境)。这就是我们通常要在这里使用的。
Mono 文档
曾经遇到过困难的任务?曾经为了帮助访问 MSDN?这是 Mono 版的 MSDN。它包含有关程序集、语言 (特别是 C# 语言) 和其他必要信息的文档。你通常会在这里查找帮助。
回到主题本身……你也可以从命令行启动 IDE,要启动 IDE,只需在终端中执行以下命令
$ monodevelop
还记得吗?这是 Mono 的 IDE!IDE 将会看起来像这样
这部分就到这里了,请阅读本帖的其余部分,了解关于此 IDE 用于 C# 编程的各种特性的讨论。在许多方面,MonoDevelop 与 Visual Studio 相似,但请记住,Visual Studio 就是 Visual Studio!MonoDevelop 成功地弥合了使用 C# 的跨平台开发,我可以承认这一点。它们的开发环境也很棒,而且性能也很惊人。如果你是 C# 的粉丝,你一定会喜欢在 Ubuntu 上使用 MonoDevelop。
探索 MonoDevelop
MonoDevelop 是一个 IDE,其中包含许多技巧,被从文本编辑器等小型工具到性能强大的工具(如性能分析器和调试器)的开发人员日常使用。所有这些工具都用于 C# 开发人员微调他们的程序。在本节中,我将演示在 Linux 环境中使用 Ubuntu Studio 发行版进行 C# 编程的 MonoDevelop。这与编程无关,我将在以后的文章中介绍,而在这篇文章中,我将介绍这个软件包为 C# 开发人员提供的典型软件功能。
学习界面是任何基本编程环境的第一步。如果你不了解你正在使用的工具,或者在使用该工具时将获得哪些服务,那么你在该特定工具中编程的效率可能不会很高。这也是让 (或迫使) 公司选择某个工具而不是另一个工具的常见因素。C# 程序员主要专注于 Visual Studio (而且我个人也喜欢使用 Visual Studio,因为它是市面上最棒的 IDE 之一)。然而,C# 编程并不局限于 Windows 本身,因为它可以跨多个平台编程,所以开发人员也应该能够使用那里的工具。C# 最初并未正式声明支持跨平台支持,在那些日子里,Mono Project 脱颖而出,并开始基于 ECMA 标准为 Linux 环境编译 C# 程序,然后是 Mac OS。这使得开发人员可以编写他们的 C# 程序,这些程序“肯定”可以在多个平台上运行,在 C# 之前,这可能是 Java 程序的工作,它们的字节码将被传输到 Jars 中,然后通过 Java 在这些平台上的虚拟机支持在这些平台上执行。
粗略地说,所有这些只是促成 Mono Project 成功的理念,因为至少在我看来,C# 是一个更好的编程语言,而 .NET 框架是一个比 Java 编程语言或核心 Java API 更具可扩展性、灵活性和可移植性的框架。
Mono Project 的主页说道
现在,列举 Mono Project 会为你提供的一些功能。
1. 创建新项目
在 MonoDevelop 中创建新项目是一个非常流畅和简单的过程。你只需选择一个模板,输入一些详细信息,然后就可以了!创建新项目的 MonoDevelop 主页大致是这样的…
是的,你看到了。MonoDevelop 也支持 ASP.NET Web 应用程序开发,我将在不久的将来在另一篇文章中介绍。为了预览,请看下面提供的模板:
MonoDevelop 也支持 C 和 C++ 编程,但这现在不是我们要谈论的。对于这篇博客,我们将简单地选择 C# 和一个控制台应用程序作为模板。我们只需要添加一些详细信息,比如
- 项目名称
- 项目位置
然后我们就完成了!然后我们会打开我们的项目,并可以继续探索那里的其余内容。
2. 解决方案资源管理器
开发人员首先会遇到的是解决方案资源管理器。解决方案资源管理器通常包含项目文件、资源和其他你当前正在处理的项目引用和属性。MonoDevelop 中的解决方案资源管理器在很多方面与 Visual Studio 中的非常相似…
这在很多方面都与 Visual Studio 相似,我们有解决方案名称、项目名称。不仅如此,我们还得到了
- 参考文献
- 用于管理我们项目中的引用。
- 可用于添加新的引用和程序集,以便通过“
using
”指令调用。
- 属性
- 用于配置项目的属性、一些编译和构建时编辑等。
- Program.cs
- 这是项目中的主程序。
到目前为止,我们只是查看了它。选项呢?选项也 (非常) 类似于 Visual Studio 中的。我们可以添加新项目、管理工具、管理扩展等等,所有这些都在 IDE 本身中。
我不会讨论新建文件,但我肯定会在后面的部分讨论 NuGet 包管理。我们可以使用这里提供的选项执行许多操作,例如构建项目、清理项目或向项目添加更多文件和资源。
3. 运行项目
运行项目可以分为两个不同的部分
- 调试
- 发布
MonoDevelop 提供了这两种设置的工具,你可以调试你的应用程序,也可以以发布模式运行应用程序。在调试模式下,调试器会附加到进程中,用于捕获异常并在应用程序中设置断点。
你可以选择其中一种配置,然后按 F5 运行应用程序。虽然我之后才谈到项目的属性和配置,但无论如何,你都可以通过打开属性并更改那里的设置来更改配置、添加它们、从项目中删除它们。
然后你就可以在该模式下运行项目了,通常你可以编辑你的程序将运行的 CPU 架构;x86 或 x64 版本。
4. 管理引用
C# 编程中最重要、最常用、最关键的部分之一就是对程序集的引用。没有大多数程序集,你的程序根本无法运行!在 Visual Studio 和 MonoDevelop 中管理引用都是一项非常简单的任务。最初,我们的程序仅包含对 `System` 程序集的引用。
左侧是项目或包或 .NET 中的程序集列表。而在右侧显示了当前选定的程序集。如果我们包含更多引用,此列表中将显示更多项。所以,让我们包含著名的 `Newtonsoft.Json` 程序集,看看会发生什么。
右侧可以看到一个新的引用,我们在左侧选择了程序集引用。一旦你点击选择,它将被添加到你的项目中。
很简单。你也可以从项目中包含更多引用。这还不是全部,如果你注意到,你还可以看到你可以添加 Web 引用,也可以管理 NuGet 包,所有这些都在 IDE 本身中!
你可以使用它们来管理你的项目中的引用。
5. 配置 IDE 和项目设置
最后,我想谈谈 IDE 配置、编译器设置和其他一些你可能感兴趣的编辑器设置,以确保你感觉宾至如归!默认情况下,IDE 的外观和感觉可能不适合你,如果你想编辑文本的外观和感觉,你可以“肯定”地更改它。
你可以在这些设置中管理编译时设置,也可以签名程序集。设置如下面所示:
设置进一步分类。你可以在每个类别下管理和编辑设置。
- 构建
- 包含项目的配置。例如运行不安全代码。
- 包含运行项目的配置。
- 包含数字签名程序集的工具。
- 源代码
- 你可以更改代码编辑器的外观和感觉。
- 允许执行智能代码编辑功能。
- 其余的部署和运行内容。
你还可以管理许多其他内容,例如项目的位置,已编译的二进制文件放置在机器上的位置。你可以在此处找到大多数设置。然后你可以编辑它们并管理你的项目以在多种场景下运行。
关注点
这是关于在 Ubuntu 操作系统上进行 C# 编程系列文章中的一篇。本文涵盖了 C# 开发人员通常在 IDE 中寻找的常见场景、工具和功能。本文档没有过多涉及编程内容,而是涉及编程工具。
这只是为想在 Ubuntu 操作系统上开始 C# 编程的 C# 开发人员准备的入门文章。在接下来的文章中,我将讨论
- C# 语言“快速入门”
- C# 项目管理和部署
- NuGet 包管理
- 代码优化技巧等等
敬请期待,还有更多内容即将推出… 我还将出版一本名为《在 Ubuntu 上编程 C#》的书,嗯,就这些了。 :-)