#概要
Qiitaの記事投稿練習も兼ねて、自分用の備忘録としてVisual Studioの無い(会社のセキュリティ云々でインストールできない)環境でも、今時のWindowsならテキストエディタでC#とかVBのソース書いてツール作れるよっていうメモ。
#参考URL
C#:csc.exeだけで参照設定しながらコンパイルする方法
#コンパイラの場所とか
C:\Windows\Microsoft.NET\Framework\v4.0.30319
の中にcsc.exe(C#用)とかvbc.exe(VB用)が入ってるはずなので、引数にソースファイルを指定すればコンパイルしてexe(実行ファイル)にしてくれる。
(v4.0.30319の部分は.NETのバージョンによって微妙に変わる)
以下はコンパイラにパスが通っている前提のコマンドなので、パスが通っていなければパスを通すか絶対パスで記述する。
exeファイルはコマンドを実行した場所に生成される。
#参照設定しない場合
/platform:x86
は環境に合わせて指定する。
csc /platform:x86 "ソースファイルのパス"
#参照設定する場合
/reference
に参照するdll等を指定する。
;(セミコロン)で区切って複数指定できる。
また、Windowsアプリケーションの場合は/target:winexe
を指定しないとコンソール(黒い画面)が表示されてしまう。
csc /reference:WPF\PresentationCore.dll;WPF\PresentationFramework.dll;WPF\WindowsBase.dll;System.Xaml.dll /platform:x86 /target:winexe "ソースファイルのパス"
#おまけ
バッチファイルにしてしまうとドラッグ&ドロップでコンパイルできて楽(参照設定とかは適宜対応するとして・・・)。
@echo off
cd %~dp0
rem 引数無し実行はエラーとする
if "%~1"=="" (
echo ソースファイルをドラッグ&ドロップしてください
timeout 5
exit
)
echo コンパイルを実行します
echo;
csc /platform:x86 /target:winexe %1
echo;
timeout 5
一応補足しておくと、
cd %~dp0
でバッチファイルの階層に移動する。
%1
には実行時引数(ドラッグ&ドロップしたファイルの絶対パス)が入っている。
choiceコマンドと%errorlevel%でコンソールアプリかWindowsアプリか分岐させる、とかも出来るけど今回は割愛。
#あとがき
初めての記事投稿で見よう見まねでやってみたけど、簡単に書けて結構楽しい(小並感)。
基本的には備忘録がメインになるから大したことないかもしれないけど、誰かの参考になればいいなぁ、と思ってちょくちょく投稿してみる。