我有一段C#代码,我需要使用终端进行编译、执行和反编译。
我该如何做?
我有一段C#代码,我需要使用终端进行编译、执行和反编译。
我该如何做?
安装 mono-complete。在所有当前支持的Ubuntu版本中,打开终端并输入:
sudo apt install mono-complete
将您的C#代码保存在一个名为hello.cs的文件中。示例hello.cs代码如下:
using System;
namespace Project_1 {
class MainClass {
public static void Main (string[] args) {
Console.WriteLine ("Hello World!");
Console.ReadKey ();
}
}
}
使hello.cs可执行。右键单击hello.cs文件 -> 选择属性 -> 权限选项卡 -> 在允许作为程序执行文件左侧勾选。
使用cd
命令切换到包含hello.cs文件的目录。
使用mcs编译器从源文件hello.cs创建一个名为hello.exe的Windows可执行文件。
mcs -out:hello.exe hello.cs
使用mono运行hello.exe程序。
mono hello.exe
第6步运行程序的结果应为:
Hello World!
按Enter返回到默认终端提示符。
反编译可执行文件。
monodis --output=decompiled-hello.txt hello.exe
mono
。sudo apt install gnupg ca-certificates
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb https://download.mono-project.com/repo/ubuntu stable-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update
sudo apt install apt-transport-https dirmngr
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb https://download.mono-project.com/repo/ubuntu vs-bionic main" | sudo tee /etc/apt/sources.list.d/mono-official-vs.list
sudo apt update
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
sudo apt install apt-transport-https
echo "deb https://download.mono-project.com/repo/ubuntu vs-xenial main" | sudo tee /etc/apt/sources.list.d/mono-official-vs.list
sudo apt update
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
sudo apt install apt-transport-https
echo "deb https://download.mono-project.com/repo/ubuntu vs-trusty main" | sudo tee /etc/apt/sources.list.d/mono-official-vs.list
sudo apt update
sudo apt install mono-complete
class GoodDay
{
public static void Main()
{
System.Console.WriteLine("Good Day!");
}
}
GoodDay.cs
编译代码的命令 -mcs -out:GoodDay.exe GoodDay.cs
GoodDay.exe
。.exe
文件的命令 -mono GoodDay.exe
Good Day!
monodis --output=GoodDay.txt GoodDay.exe
GoodDay.txt
中。sudo apt-get update; \
sudo apt-get install -y apt-transport-https && \
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-5.0
您还可以使用Snap进行安装{{link1:安装}}
sudo snap install dotnet-sdk --classic --channel=5.0