web-dev-qa-db-ja.com

コマンドプロンプトでのC#ソースファイルのコンパイル/実行

コマンドプロンプトウィンドウから.csファイルをどのようにコンパイルして実行しますか?

133
DragonBorn

CSC.exeは、.NET Frameworkに含まれているCSharpコンパイラであり、コマンドプロンプトからコンパイルするために使用できます。出力は、/ target:exeを使用する場合は実行可能ファイル(.exe)であり、/ target:libraryを使用する場合はDLLです。 CSC.exeは、.NET Frameworkディレクトリにあります。 .NET 3.5の場合、c:\windows\Microsoft.NET\Framework\v3.5\

実行するには、最初にコマンドプロンプトを開きます([スタート...]をクリックし、cmd.exeと入力します)。その後、ソースファイルを保持するディレクトリにcdする必要がある場合があります。

次のようにC#コンパイラを実行します。

  c:\windows\Microsoft.NET\Framework\v3.5\bin\csc.exe 
            /t:exe /out:MyApplication.exe MyApplication.cs  ...

(すべて1行で)

コンパイルするソースモジュールが複数ある場合は、同じコマンドラインに配置できます。参照する他のアセンブリがある場合は、/r:AssemblyName.dllを使用します。

「エントリポイント」として機能するクラスの1つで定義された静的Main()メソッドがあることを確認します。

結果のEXEを実行するには、コマンドプロンプトでMyApplicationに続けて<ENTER>を入力します。

この記事 MSDNのコマンドラインコンパイラのオプションについて詳しく説明します。リソースの埋め込み、アイコンの設定、アセンブリへの署名など​​、Visual Studioでできることはすべて可能です。

Visual Studioがインストールされている場合、[スタート]メニュー(Visual Studioツールの下)で、コマンドラインのコンパイルに必要なすべての環境変数とパス変数を設定する[Visual Studioコマンドプロンプト]を開くことができます。

これを知ることは非常に便利ですが、 NAntMSBuildFinalBuilder などのビルドツールの知識と組み合わせる必要があります。これらのツールは、基本的なコンパイラだけでなく、完全なビルド環境を提供します。

Macで

Macでは、構文は似ており、C sharp Compilerのみがcscという名前です。

$ csc /target:exe /out:MyApplication.exe MyApplication.cs ...

それを実行するには:

$ mono MyApplication.exe
127
Ash

C#プログラムをコンパイルする別の方法(Visual Studioを使用せずに、またはインストールせずに)は、環境変数にユーザー変数、つまり「PATH」を作成することです。

この変数に次のパスをコピーします。

"C:\ Windows\Microsoft.NET\Framework\v4.0.30319"

または、PCの.NETに依存します。

そのため、コードをコンパイルするたびにパス全体を言及する必要はありません。単に使用する

"C:\ Users\UserName\Desktop> csc [options] filename.cs"

またはコードのパスがどこであっても。

これで準備完了です。

12
Aditya Garg

C#プログラムをコンパイルできます:

c:> csc Hello.cs

プログラムを実行できます

c:> Hello

12
Surendra

コマンドラインでビルドする方法を知っているのは間違いなく良いことですが、ほとんどの作業ではIDEを使用する方が簡単かもしれません。 C# エクスプレス版 は無料で、お金に非常に適しています;-p

あるいは、 snippy のようなものを使用して、C#コードのフラグメントを実行できます。

最後に-コマンドラインは実装固有であることに注意してください。 MSの場合、 csc ; mono の場合、 gmcs およびfriends ....同様に、実行するには、MSバージョンの場合は単に「exename」ですが、通常はmonoの場合は「mono exename」です。

最後に、多くのプロジェクトがビルドスクリプトツールでビルドされています。 MSBuildNAnt など.

7
Marc Gravell

これは、最新の.Net Framework 4.7にバンドルされなくなったスタンドアロンのC#7.0コンパイラでMSBuildをインストールする方法です。

Visual StudioなしでC#コンパイラをインストールすることは可能ですか?

その後、ちょうど実行

"C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\Roslyn\csc.exe" MyApplication.cs

単一のソースファイルを実行可能ファイルにコンパイルします。

また、.Net Core 単一のソースファイルのコンパイルはサポートしていません 事前に構成されたプロジェクトがないことにも注意してください。

5
Vadzim

LinqPadは、いくつかのC#コードを簡単にテストする方法であり、無料です。

3
nullsteph

最新バージョンの場合、最初にPowershellウィンドウを開き、任意のフォルダーに移動して(例:c:\projects\)、次を実行します

# Get nuget.exe command line
wget https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -OutFile nuget.exe

# Download the C# Roslyn compiler (just a few megs, no need to 'install')
.\nuget.exe install Microsoft.Net.Compilers

# Compiler, meet code
.\Microsoft.Net.Compilers.1.3.2\tools\csc.exe .\HelloWorld.cs

# Run it
.\HelloWorld.exe    

HelloWorld.csの例

using System;

public class HelloWorld {
    public static void Main() 
    {
        Console.WriteLine("Hello world!");
    }
}

新しいC#インタープリターを試すこともできます;)

.\Microsoft.Net.Compilers.1.3.2\tools\csi.exe
> Console.WriteLine("Hello world!");
Hello world!
3
DeepSpace101

クラスファイルは、デフォルトのWindowsコマンドウィンドウではなく、VSコマンドプロンプト内でビルドできます(したがって、必要なすべての環境変数がロードされます)。

Csc.exe(コンパイラ)を使用したコマンドライン構築の詳細については、 この記事 を参照してください。

2
Cerebrus

C#コードを記述して保存したら。コマンドプロンプトを使用して、他のコードと同じように実行できます。

コマンドプロンプトで、ファイルがあるディレクトリを入力し、入力します

コンパイルするには:

mcs yourfilename.cs

実行するには:

mono yourfilename.exe 

.exeファイルを異なる名前で異なるものにする場合は、次のように入力します。

コンパイルするには:

mcs yourfilename.cs -out:anyname.exe 

実行するには:

mono anyname.exe 

これは役立つはずです!

1
Joe

Windowsシステムでは、現在のディレクトリがMicrosoft Visual Studio\<Year>\<Version>にある間に、コマンドプロンプトでcsc <filname>.csコマンドを使用します

2つの方法があります。

コマンドプロンプトの使用:

  1. 開始->コマンドプロンプト
  2. 次のコマンドを使用して、ディレクトリをVisual Studioフォルダーに変更します。cdC:\ Program Files(x86)\ Microsoft Visual Studio\2017\<Version>
  3. 次のコマンドを使用します:csc /.cs

開発者コマンドプロンプトの使用:

  1. 開始-> VS 2017の開発者コマンドプロンプト(ここでは、ディレクトリは既にVisual Studioフォルダーに設定されています)

  2. 次のコマンドを使用します:csc /.cs

それが役に立てば幸い!

0
user3789482