Visual StudioなしでC#【コマンドラインアプリでHello World編】
概要
以前の仕事の環境上、いろいろ制限があったので
Visual StudioなしでC#でプログラム組む方法についてまとめました。
必要なもの
- Windows OS
- .Net Framework 2.0以上
- テキストエディタ(なんでも)
コンパイラの準備
まずはなんにせよ、コンパイラを準備しないと始まりません。
C#用のコンパイラはcsc.exe。標準ならC:\Windows\Microsoft.NET\Framework\<バージョン>
にあるはずです。
コマンドプロンプトを開き、csc
と叩いてバージョン確認します。
ちなみにエクスプローラをShiftキー+右クリックで、開いているディレクトリをカレントにしてプロンプトを開けます。
C:\Windows\Microsoft.NET\Framework\v2.0.50727>csc
Microsoft(R) Visual C# 2005 Compiler version 8.00.50727.8670
for Microsoft(R) Windows(R) 2005 Framework version 2.0.50727
Copyright (C) Microsoft Corporation 2001-2005. All rights reserved.
fatal error CS2008: 入力が指定されていません。
C:\Windows\Microsoft.NET\Framework\v2.0.50727>
C:\Windows\Microsoft.NET\Framework\v4.0.30319>csc
Microsoft (R) Visual C# Compiler version 4.6.1038.0
for C# 5
Copyright (C) Microsoft Corporation. All rights reserved.
This compiler is provided as part of the Microsoft (R) .NET Framework,
but only supports language versions up to C# 5, which is no longer the latest version.
For compilers that support newer versions of the C# programming language,
see http://go.microsoft.com/fwlink/?LinkID=533240
warning CS2008: ソース ファイルが指定されていません。
error CS1562: ソースのない出力には、/out オプションを指定しなければなりません。
C:\Windows\Microsoft.NET\Framework\v4.0.30319>
バージョンによってちょっと内容が違うかもしれません。
エラーも出ているが、ソースコード指定していないので仕方ないと思います。一応実行は出来ているのでこれで問題ありません。
コンパイラは見つかったので、ここへパスを通します。
環境変数のPATHの設定方法はここでは省略させていただきます。
Google先生に聞かなくても分かるよね??
環境変数の修正もはばかられる場合は、スクリプトを組んでしまうとよいでしょう。
@echo off
setlocal
set PATH="C:\Windows\Microsoft.NET\Framework\v2.0.50727";%PATH%
csc.exe %*
endlocal
実行する時はbuild.bat source.js
とコマンドを叩くか、ソースファイルをバッチスクリプトにドロップすればOKです。
Hello World!!
さて、まずは恒例のHello Worldです。
とりあえず以下のようにソースコードを書いてみました。
namespace HelloWorld
{
public static class Program
{
public static void Main(params string[] args)
{
System.Console.WriteLine("Hello world!!");
}
}
}
つぎのコマンドでビルドできます。
> build.bat HelloWorld.cs
ビルド後、同じディレクトリにProgram.exe
ができているので、実行してください。
> Program.exe
Hello World!!
おわりに
うまく実行できたでしょうか??
最初にやってみた時は意外と簡単にできて驚きました。
いや、当たり前なんですけどね。。。でもVisual Studioの大きさからすると意外な簡単さだったので、驚いたんです。
次はmsbuildに挑戦してみたいと思います。
ここまでの経緯
※個人的私情挟んでいる話なので、以下読む必要ないです。
金融系SEの現場なんかでよくあること。
- インターネット閲覧制限あり(google検索結果のリンク先は大体社内規定でブロックされてる)
- 許可ソフトウェア以外のインストール禁止(フリーorシェア無関係、バージョン違いもダメ)
- OSはWindows 7のみ
とまぁ、いまどきの開発者に対して結構手厳しい現場も多い。
それでもプログラマらしくちょっとしたツールなんかプログラム組みたい!
でもExcel VBAはちょっとなー、、メンテが面倒だ、、
PowerShellは、、ちょっと遅い、、
cmdだとすぐ限界迎える
COBOLで組むのもなー、、、
といった気持ちにかられ、でた結論。
よし、.Net Frameworkだ!
.Net Frameworkなら標準で入っているし、C#なら個人的にも使っている。
ただVisual Studio(以下VS)はもちろん入れられないので、VSなしでテキストエディタのみでコーディングしていく。
そのやり方について振り返りつつ備忘録としてまとめてみた。
Discussion