LoginSignup
18

More than 5 years have passed since last update.

Visual StudioなしでC#【コマンドラインアプリでHello World編】

Posted at

概要

以前の仕事の環境上、いろいろ制限があったので
Visual StudioなしでC#でプログラム組む方法についてまとめました。

必要なもの

  • Windows OS
  • .Net Framework 2.0以上
  • テキストエディタ(なんでも)

コンパイラの準備

まずはなんにせよ、コンパイラを準備しないと始まりません。
C#用のコンパイラはcsc.exe。標準ならC:\Windows\Microsoft.NET\Framework\<バージョン>にあるはずです。

コマンドプロンプトを開き、cscと叩いてバージョン確認します。
ちなみにエクスプローラをShiftキー+右クリックで、開いているディレクトリをカレントにしてプロンプトを開けます。

ver.2.0の場合
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>
ver.4.6.1の場合
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先生に聞かなくても分かるよね??

環境変数の修正もはばかられる場合は、スクリプトを組んでしまうとよいでしょう。

build.bat
@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です。
とりあえず以下のようにソースコードを書いてみました。

HelloWorld.cs
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なしでテキストエディタのみでコーディングしていく。
そのやり方について振り返りつつ備忘録としてまとめてみた。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18