Linux のコマンド ラインからこの C# プログラムを起動するには、どのコマンドを使用すればよいですか? 既にコンパイル済み (Monodevelop を使用) ですが、コマンド ラインから起動する方法がわかりません。
using System;
class ExampleClass
{
static void Main()
{
Console.WriteLine("Hello, world!");
}
}
Linux のコマンド ラインからこの C# プログラムを起動するには、どのコマンドを使用すればよいですか? 既にコンパイル済み (Monodevelop を使用) ですが、コマンド ラインから起動する方法がわかりません。
using System;
class ExampleClass
{
static void Main()
{
Console.WriteLine("Hello, world!");
}
}
Linux で C# (またはその他の .NET) プログラムを起動するために必要なコマンド ラインは、Linux システムの構成方法によって異なります。
標準的な答えは、mono
プログラムを実行し、実行可能なアセンブリの名前をパラメーターとして渡すことです。実行可能アセンブリの名前は通常、プロジェクト ファイルの名前と同じですが、簡単に変更できます。.exe
コンパイルが完了したら、末尾が で終わるファイルを探してください。bin\Debug
、または同様の名前のフォルダーにありbin\Release
ます(プロジェクトのビルド設定の設定方法によって異なります)。したがって、というプログラムを作成したhello.exe
場合は、プロジェクト フォルダーに移動して次を実行します。
~/projects/hello $ mono bin\Debug\hello.exe
プログラムを実行する必要があるのmono
は、Linux がデフォルトで .NET ランタイムを自動的に実行する方法を認識していないためです。Windows に .NET をインストールすると、プログラムをロードする OS の部分が実際に変更されるため、Windows は .NET プログラムを自動的に認識してランタイムをロードするだけです。mono
Linux では、最初にプログラムを実行して、自分で行う必要があります。
Linux で多くのマネージ コードを実行する場合は、Windows と同じように動作するように Linux カーネルを構成することもできます。Linux は「その他のバイナリ形式」をサポートしています。これにより、ネイティブの Linux 形式ではないバイナリを実行する方法を Linux に伝えることができます。これはやや高度です。カスタム カーネルを構築する必要がある可能性がありますが、お使いの Linux ディストリビューションにそれを行うためのより良い方法があったとしても、私は驚かないでしょう。このプロセスの詳細については、次の場所を参照してください。