17
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

コマンドラインコンパイラ csc.exe で C# コードをコンパイルする

Posted at

はじめに

Windows には C# のコンパイラ(csc.exe)が既定で含まれており、Visual Sutdio をインストールしなくても C# コードをコンパイルすることができるということで、実際に試してみました。動作確認は以下の環境で行いました。OS をインストールしただけの素の状態です。

  • Windows 10 Professional x64 Creators Update(英語版)

ソースコード

素の状態でエディタもインストールしていないので、メモ帳でコードを書いていきます。デスクトップに HelloWorld.cs というファイルを作成して、以下のコードを入力します。Hello World と表示するだけの何の変哲もないコンソールアプリケーションです。

HelloWorld.cs
using System;

class HelloWorld
{
    static void Main()
    {
        Console.WriteLine("Hello World");
    }
}

コンパイル

早速コンパイルしていきます。PowerShell を開いて以下のコマンドを実行します。

cd ~\Desktop
C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe .\HelloWorld.cs

成功するとデスクトップに HelloWorld.exe が作られます。

実行

続けて PowerShell から HelloWorld.exe を実行します。

.\HelloWorld.exe

「Hello World」と表示されれば OK です。

アセンブリ参照について

csc.exe でコンパイルするときに参照されるアセンブリは以下のファイルに記述されています。

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

参照したいアセンブリが書かれていない場合は追記しましょう。

蛇足

PowerShell っぽいコマンドでコンパイルするための Function も作ってみました。特に便利にはなっていません。気持ちの問題です。

Invoke-Compilation
function Invoke-Compilation
{
    [CmdletBinding()]
    Param
    (
        [Parameter(Mandatory=$true)]
        [string]$Path
    )
    C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe $Path
}

# Invoke-Compilation -Path HelloWorld.cs
17
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?