4

ac#ソースファイルがあります。#!/ usr / bin / env monoのようなものを配置して、コンパイルして実行可能ファイルとして実行する方法はありますか?

たとえばPythonの場合、次のようにします。

#!/usr/bin/env python

実際、私が欲しいのは、コンパイル後に「monothe.exe」を呼び出さずにスクリプトを実行することです。「./the.exe」のようなものが欲しいです。

4

2 に答える 2

4

編集:単一のソースファイルに対して、つまり単一のソースファイルに対してこれを実行したいことに気づきました。csharpこれは、Monoに同梱されているREPLによってほぼサポートされています。ただし、REPLはシバン行を理解せず、プリプロセッサ定義と見なすため、構文エラーを吐き出します。私が誤解していて、コンパイルされたアセンブリについて話していた場合でも、以下のテキストが適用されます。/編集

Monoによって生成された.exeファイルはWindowsと同様に、PE実行可能ファイルであるため、シバンを使用することはできません。スクリプトではなく、CILが含まれています。

ただし、実行して使用する小さなシェルスクリプトを作成するか、ここでmono your.exe概説するように、Linuxカーネルのbinfmtsサポートを使用することができます。

于 2010-11-20T15:16:13.647 に答える
1

(コンパイルされた)モノラルプログラムのインタプリタとしてupdate-binfmts登録できるかもしれません。mono

update-binfmts --display出力に次のようなものが含まれているかどうかを確認してください。

cli (enabled):
     package = mono-common
        type = magic
      offset = 0
       magic = MZ
        mask =
 interpreter = /usr/bin/cli
    detector = /usr/lib/cli/binfmt-detector-cli
于 2010-11-20T16:26:07.840 に答える