ちょっと作ってみたツール

SEを10年くらいやっていました。あったら便利だなーってツールを書いています

C#のファイルをコンパイルするバッチ

お題「愛用しているもの」

C#のファイルで1ファイルしかないものを作るときに愛用しています。

そんなに使わないけど。ファイルのドラッグアンドドロップでもコンパイルできます。

使い方

(後述のソースをcscompiler.batとします)

cscompiler.bat test.cs
->同じフォルダにtest.exeが作成されます

ソース

SETLOCAL
IF "%1" == "" (
    echo ファイルを指定してください
    exit /b
)

REM 使っている環境で最新の.NET環境を検索
IF EXIST "%SystemRoot%\Microsoft.NET\Framework\v4.0.30319" (
    SET COMPILER=%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\csc.exe
    SET REFERENCE=/reference:PresentationCore.dll /reference:PresentationFramework.dll /reference:WindowsBase.dll
) ELSE IF EXIST "%SystemRoot%\Microsoft.NET\Framework\v3.5" (
    SET COMPILER=%SystemRoot%\Microsoft.NET\Framework\v3.5\csc.exe
    SET REFERENCE=/reference:PresentationCore.dll /reference:PresentationFramework.dll /reference:WindowsBase.dll
) ELSE IF EXIST "%SystemRoot%\Microsoft.NET\Framework\v3.0" (
    SET COMPILER=%SystemRoot%\Microsoft.NET\Framework\v3.0\csc.exe
) ELSE IF EXIST "%SystemRoot%\Microsoft.NET\Framework\v2.0.50727" (
    SET COMPILER=%SystemRoot%\Microsoft.NET\Framework\v2.0.507\csc.exe
) ELSE IF EXIST "%SystemRoot%\Microsoft.NET\Framework\v1.1.4322" (
    SET COMPILER=%SystemRoot%\Microsoft.NET\Framework\v1.1.4322\csc.exe
ELSE (
    EXIT /B
)

"%COMPILER%" /out:"%~dpn1.exe" %*
ENDLOCAL