はじめに
Windows には C# のコンパイラ(csc.exe)が既定で含まれており、Visual Sutdio をインストールしなくても C# コードをコンパイルすることができるということで、実際に試してみました。動作確認は以下の環境で行いました。OS をインストールしただけの素の状態です。
- Windows 10 Professional x64 Creators Update(英語版)
ソースコード
素の状態でエディタもインストールしていないので、メモ帳でコードを書いていきます。デスクトップに HelloWorld.cs というファイルを作成して、以下のコードを入力します。Hello World と表示するだけの何の変哲もないコンソールアプリケーションです。
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 も作ってみました。特に便利にはなっていません。気持ちの問題です。
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