在 Linux 中执行 C# 代码
迄今为止,.NET 核心应用程序仅限于 Windows 操作系统,但现在微软推出了一种新的跨平台应用程序,称为 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# 二进制文件;此处,屏幕截图总结了我们到目前为止所做的一切。
广告