微软的.NET框架与Linux开发和管理,是Buider AU和一个更广泛行业的两个最流行的主题。
大多数时候,这两个主题往往会产生冲突,很少有开发者需要同时了解这两个工具。但是,许多人都没意识到,其实我们可以通过开源mono计划,把二者组合起来。本文将说明如何在Linux上安装mono并运行基本的.NET应用程序。
首先你需要使用apt-get安装基本mono软件包。此时最好安装其它两个软件包:monodevelop——一个在某些方面类似于Visual Studio(虽然远不如Visual Studio复杂)的mono开发环境,和提供帮助和技术文档的monodoc。
启动一个根终端并输入:
% apt-get install mono monodevelop monodoc
完成后,mono应用即准备就绪,但这时你最好添加一些你需要的附加件。
% apt-get install mono-utils mono-xsp monodoc-http
如果你要从终端进行一部分开发工作,mono-utils可为你提供一些有用的实用工具。monodoc-http以Web服务方式提供 monodoc手册,它需要mono-xsp独立Web服务器才能运行。mono包括mono C#编译器mcs,但它仅能编译.NET 1.1代码,如果你希望使用.NET 2.0 C#特性(如非常有帮助的generics),那么你就需要gmcs:
% apt-get install mono-gmcs
如果你计划使用monodevelop编写你的代码,那么你可以安装一些SVN、Java、NUnit、Boo和MonoQuery支持的许多软件包:
% apt-get install monodevelop-versioncontrol monodevelop-java monodevelop-nunit monodevelop-boo monodevelop-query
同样,如果你计划使用monodoc(强烈建议使用),你可以为你将要用到的工具箱安装手册。
% apt-get install monodoc-nunit-manual monodoc-ipod-manual monodoc-gtk2.0-manual
在编写代码前,让我们了解一下我们刚才安装的一些工具。monodoc浏览器让你查看你安装的mono相关手册,包括有益的C#语言规范参考。
或者,如果你愿意的话,你也可以在Web浏览器中阅读该文档。monodoc-http程序启动一个本地运行的XSP服务器,允许你与任何Web浏览器建立连接。
如果你愿意,你还可以启动monodevelop IDE,虽然在我们使用的例子中,你不需要这么强大的功能。
现在我们通过试用一些代码,检查整个mono软件包。以标准的C# Hello World程序为例:
using System;
namespace Hello {
class HelloWorld {
public static void Main(string[] args) {
Console.WriteLine("Hello World!");
}
}
}
用mcs编辑后,通过mono命令运行;其结果如下:
上述代码正常运行,但这是一个非常简单的例子,它并不包括.NET最常用的部分:Windows Forms。下面我们来看看一个简单的Windows Forms应用程序是否能够运行。首先确保安装了相关的库:
% apt-get install libmono-winforms1.0-cil libmono-winforms2.0-cil
以下是源代码:
using System;
using System.Windows.Forms;
namespace HelloClickWorld {
public class Hello : Form {
public static void Main (string[] args) {
Application.Run (new Hello ());
}
public Hello ()
{
Button button = new Button ();
button.Text = "Click...";
button.Click += new EventHandler (Button_Click);
Controls.Add (button);
}
private void Button_Click (object sender, EventArgs e)
{
MessageBox.Show ("Hello Click World!");
}
}
}
这次编译程序集要更复杂一些,因为你需要告诉C#编译器包括Windows Forms库:
% mcs -r:System.Windows.Forms hiclickworld.cs
% mono hiclickworld.exe
最后你需要保证ASP.NET能够正常工作。以index.aspx为文件名保存以下代码:
<%@ Page Language="C#" %>
<script runat="server">
void Button1_Click(object sender, EventArgs e)
{
Label1.Text = "Hi Click World!";
}
</script>
<html>
<head>
<title>Hello World</title>
</head>
<body>
<form runat="server">
<asp:Button id="Button1" OnClick="Button1_Click" runat="server" Text="Button"/>
<asp:Label id="Label1" runat="server"/>
</form>
</body>
</html>
然后在那个目录中启动一个xsp服务器。
最后一步,在Web浏览器中输入http://localhost:8080/,检查你用Linux新建的ASP.NET网站:
如果一切功能运转正常,那么全部mono即安装完毕,这时你应该可以在Linux或Windows上开发应用程序,并在任意一个系统中进行部署。
警告:mono并不是一个完美的替代品,.NET框架的一些功能当前不能在mono中运行,特别是在Windows Forms部分;因此,如果你准备在mono中执行一些复杂的应用,或移植一个现有的.NET项目,一定要非常小心行事。
分享到:
相关推荐
适用于Ubuntu20.04的VINS-mono源码,与官方源码比,修复了在Ubuntu20.04上编译时出现CV_FONT_HERSHEY_SIMPLEX未定义、‘CV_RGB2GRAY’ was not declared等错误。
Ubuntu Mono的设计考虑到了程序员的使用需求,例如,它对等宽字符进行了优化,确保每个字符占据相同的空间,便于代码对齐。此外,Ubuntu Mono还具有良好的国际化支持,包含多种语言的字符集。 Monaco则是苹果公司的...
ubuntu mono apache mysql 安装指南 各种安装问题研究总结
先在VS2012上编译一个winform,代码如下: using System; using System.Windows.Forms; namespace FormsTest { static class Program { /// /// 应用程序的主入口点。 /// [STAThread] static void Main() { ...
通过以上步骤,我们可以在Ubuntu 13.10系统上成功编译并安装Mono环境。这一过程不仅能够帮助开发者熟悉Mono项目的基本操作流程,还能够进一步拓展.NET应用程序的跨平台能力。值得注意的是,尽管示例中使用的是Ubuntu...
Mono环境下的WinForm开发是一种跨平台的技术,它允许开发者使用C#语言和.NET框架构建的Windows应用程序在非Windows系统上运行,比如Linux。这个技术基于Mono项目,一个开源的.NET实现,旨在提供与Microsoft .NET ...
Ubuntu18.04安装CMake、Mono和pgsql步骤 首先,荣幸小伙伴看到这篇博客文章。 Ubuntu18.04安装 Mono和pgSQL手册 一、安装操作系统镜像版本 Ubuntu操作系统镜像版本ubuntu-18.04.4-live-server-amd64.iso 二、安装...
- 在Windows 10上使用VMware Workstation创建Ubuntu 16.04虚拟机,确保分配至少2GB内存。 - 安装完成后,通过`ifconfig`命令查看并记录Ubuntu虚拟机的IP地址,以便后续的网络通信。 2. **安装SQL Server** - 在...
微软雅黑字体6.0 及 Ubuntu 上的安装步骤 1. 6个ttc字体可能是 6.0 版本的, msyh.ttf 是老版本的 2. VistaFont_CHS文件夹是 VistaFont_CHS.exe解压出来的, 里边有两个ttf文件。 可能也是老版本的。 3. others,...
在Ubuntu上,首先确保你已经安装了Wine和微信。可以通过以下命令安装: ```bash sudo apt update sudo apt install winehq-stable wget https://cdn.wechat.com/weworklinux/WeChatSetup.tar.gz tar -zxvf ...
Ubuntu等宽字体Droid Sans Mono Nerd Font Droid Sans Mono Nerd Font Droid Sans Mono Nerd Font
"使用说明.txt"可能是关于如何在不同操作系统或软件中安装和使用这款字体的指南。通常,这些步骤包括将.ttf文件复制到特定的字体文件夹,或者通过系统设置菜单进行安装。遵循这些说明,用户可以轻松地在自己的电脑上...
若需要在Ubuntu上使用C#,推荐安装Mono Framework或.NET Core。以下是安装.NET Core的步骤: 1. 添加官方的.NET Core仓库: ``` sudo sh -c 'echo "deb [arch=amd64] ...
5. **部署和运行.NET应用**:现在,你可以在Linux上使用`mono`命令运行.NET程序,例如: ``` mono myapp.exe ``` 除了基本的运行环境,"mod_mono-master"这个文件可能是Mod_mono的源代码。Mod_mono是一个Apache ...
标题《Mono-mbe版源码编译.pdf》所包含的知识点主要围绕在Linux环境下编译Unity Mono-mbe版本源码的过程,尤其是生成用于安卓平台上的动态链接库(dll)热更新和dll加密的libmonobdwgc-2.0.so文件。接下来,我将详细...
安装和配置Mono Frameworkv4.x。 可以选择从源代码构建和安装Mono Framework。 要求 平台: Debian 7.8 Ubuntu 14.04 CentOS的7.0 红帽等 以下食谱是依赖项: 易于 百胜 百胜 吉特 必要的 菜谱 默认值-您要在...