Son*_*vol 11 mono command-line compiling c#
我有一个 C# 代码,需要使用终端编译、执行和反编译。
我怎么能这样做?
kar*_*rel 16
如果您想为 Mono 或 Microsoft .NET 运行不是从 Debian 软件包安装的软件,则需要安装mono-complete。
安装mono-complete。在所有当前支持的 Ubuntu 版本中,打开终端并输入:
sudo apt install mono-complete
Run Code Online (Sandbox Code Playgroud)将 C# 代码保存在名为 hello.cs 的文件中。hello.cs 代码示例是:
sudo apt install mono-complete
Run Code Online (Sandbox Code Playgroud)使 hello.cs 可执行。右键单击 hello.cs 文件 -> 选择Properties -> Permissions选项卡 -> 在Allow execution of file as program左侧打勾。
使用cd命令将目录更改为包含 hello.cs 文件的目录。
使用 mcs 编译器并从源 hello.cs创建一个名为hello.exe的 Windows 可执行文件。
mcs -out:hello.exe hello.cs
Run Code Online (Sandbox Code Playgroud)使用单声道运行 hello.exe 程序。
mono hello.exe
Run Code Online (Sandbox Code Playgroud)在第 6 步中运行程序的结果应该是:
Hello World!
Run Code Online (Sandbox Code Playgroud)按Enter可返回到默认终端提示。
反编译可执行文件。
monodis --output=decompiled-hello.txt hello.exe
Run Code Online (Sandbox Code Playgroud)Son*_*vol 10
您可以使用monowhich 是C#实现,具有跨平台支持并且是开源的。
打开终端并安装单声道:
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
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
然后输入
sudo apt install mono-complete
Run Code Online (Sandbox Code Playgroud)
C#在当前目录下创建示例文件
例如,您可以使用以下代码:
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
Run Code Online (Sandbox Code Playgroud)
使用任何文本编辑器(如 gedit),键入以下代码并将文件另存为 GoodDay.cs
编译代码的命令 -
mcs -out:GoodDay.exe GoodDay.cs
Run Code Online (Sandbox Code Playgroud)
GoodDay.exe 生成一个可执行文件。
执行.exe文件的命令-
mono GoodDay.exe
Run Code Online (Sandbox Code Playgroud)
输出将是 -
Good Day!
Run Code Online (Sandbox Code Playgroud)
反编译可执行文件的命令 -
monodis --output=GoodDay.txt GoodDay.exe
Run Code Online (Sandbox Code Playgroud)
反编译后的代码信息保存在新生成的文件中 GoodDay.txt