【C#】Winodws標準環境でコンパイルする

概要

Visual Studioがインストールされていない環境で、簡単なプログラムを作成したい時がありました。
調べてみるとWindows標準環境でもコンパイラーがインストールされていました。
batで作れるようなプログラムでもソースコードを隠せることがメリットだと思います。

コンパイル方法

以下のディレクトリーにコンパイラがインストールされています。
最下層のv~の部分はOSのバージョンによって異なるかもしれません。
(Windows 11 Home バージョン 23H2では以下のディレクトリです)

C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe

①コードを記述したcsファイルを作成します。(例としてtest.cs)

test.cs
using System;
using System.Windows.Forms;

class Program
{
    static void Main()
    {
        MessageBox.Show("Hello, World!");
    }
}
C#

②以下のBATとcsファイルを同じディレクトリに配置し、実行します。

BAT
@echo off
set local

REM 変数定義
set CompilePath=C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe
set csPath=*.cs

REM コンパイル実行
%CompilePath% %csPath%
BAT (Batchfile)

③exeファイルが作成されます。

備考

Windows標準機能の「IExpress」を使えば、batをexe化することが出来るという情報もありましたが、
右クリックから解凍すると、元のbatを見れてしまったので私は使いませんでした。
(ソース内の文字列を見せたくないというのが目的だったため)