在 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# 二进制文件;此处,屏幕截图总结了我们到目前为止所做的一切。

更新于: 2021 年 1 月 5 日

5K+ 阅读量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告