在 Linux 中执行 C# 代码
到目前为止,以 .NET 为中心的应用程序都是针对 Windows 操作系统的,但现在 Microsoft 推出了一款名为 Mono 的新跨平台应用程序,它允许在 Linux 环境中执行在 .NET 平台下开发的应用程序,给人一种感觉,好像我们正在运行 Linux 包而不是执行 .exe 文件。
Mono
Mono 是一个开源实用程序,它允许开发人员在其他平台(如 Mac 或 Linux)上执行以 .NET 为中心的应用程序,因为它为 Windows 平台提供了一个安装包,可以在 Windows 操作系统上编译和执行 .NET 程序集,而无需安装 Visual Studio IDE 或 .NET Framework SDK。因此,我们可以利用 Mono 下现有的核心 CLR 命名空间,构建使用 Windows 窗体、LINQ、XML Web 服务、ADO.NET 和 ASP.NET 的实时、生产就绪程序集。首先,使用 wget 实用程序下载 Mono 二进制文件,并执行以下一系列命令以正确配置它;
wget --no-check-certificate https://raw.github.com/nathanb/iws- snippets/master/mono-install-scripts/ubuntu/install_mono-3.0.sh chmod 755 install_mono-3.0.sh ./install_mono-3.0.sh
除此之外,也可以安装 MCS 包,编译 .NET 二进制文件,如下所示;
root/kali:~/ sudo apt-get install mcs
C# 代码编译
Mono 控制台应用程序的基础结构几乎与传统的 C#.NET 控制台应用程序相似。要开发第一个基于 Mono 的控制台应用程序 (test.cs),请打开任何代码编辑器(如 VIM)并输入以下代码。
using System; namespace test { class test{ public static void Main(string[] args) { System.Console.WriteLine("C# app Compiled on Kali Linux"); } } }
然后,打开终端并输入以下命令来编译代码。
root/kali:~/ mcs test.cs root/kali:~/ ls test.cs test.exe
上述命令将生成一个类似 windows 的可执行文件。现在点击 ./test.exe 或 mono test.exe 命令来运行 C# 二进制文件;这里的屏幕截图总结了我们到目前为止所做的一切。