我有一个 C# 源文件。有没有什么办法可以放置类似#!/usr/bin/env mono 的东西,这样它就会被编译然后作为可执行文件运行:
以python为例,我会这样做:
#!/usr/bin/env python
事实上,我想要的是在编译后运行脚本而不调用“mono the.exe”。我想要类似“./the.exe”的东西。
最佳答案
编辑:我刚刚注意到您想对单个源文件执行此操作——对单个源文件。 Mono 附带的 csharp
REPL 几乎支持这一点。然而,REPL 吐出一个语法错误,因为它不理解 shebang 行并将其视为预处理器定义。如果我误解了你说的是编译后的程序集,下面的文字仍然适用。 /编辑
您不能使用 shebang,因为 Mono 生成的 .exe 文件是 PE 可执行文件,就像在 Windows 上一样。它们包含 CIL,而不是脚本。
您可以做的是生成一个运行 mono your.exe
的小 shell 脚本并使用它,或者您可以使用 Linux 内核的 binfmts 支持,如概述 here .
关于linux - Mono 框架 shebang linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4233395/