更新 : 2007 年 11 月
C# アプリケーションには、Windows コンソール アプリケーション、Windows フォーム アプリケーション、ASP.NET Web アプリケーション、ASP.NET Web サービス アプリケーション、スマート デバイス アプリケーション、ActiveX アプリケーション、セットアップおよび配置アプリケーションなどの種類があります。
コンソール アプリケーション
コンソール アプリケーションは、フォームではなく、標準のコマンド ライン入出力を使用して入出力を実現します。コンソール アプリケーションでは、入出力を処理するために System.IO クラスを使用します。System.IO.Console.WriteLine() のようにメソッドの前にクラス名を使用したり、プログラムの先頭に using ステートメントを配置したりできます。コンソール アプリケーションは、Visual Studio や、メモ帳などのテキスト エディタを含む他の開発環境を使用して簡単に作成できます。詳細については、「Visual Studio の紹介」、「コンソール アプリケーションの作成 (Visual C#)」、「Hello World -- 最初のプログラム (C# プログラミング ガイド)」、または「Main() とコマンド ライン引数 (C# プログラミング ガイド)」を参照してください。
フォーム アプリケーション
フォーム アプリケーションには、入力用のボタンやリスト ボックスのような、一般的な Windows グラフィカル ユーザー インターフェイスが用意されています。フォーム アプリケーションは、System.Windows.Forms 名前空間内のクラスを使用します。フォーム アプリケーションは、Visual Studio や、メモ帳などのテキスト エディタを含む他の開発環境を使用して簡単に作成できます。Windows アプリケーションの作成方法の詳細については、「方法 : Windows アプリケーション プロジェクトを作成する」、「ASP.NET Web アプリケーションの作成 (Visual C#)」、または「ASP.NET Web アプリケーションの作成 (Visual C#)」を参照してください。
ASP.NET Web アプリケーション
ASP.NET アプリケーションは、コンソールやフォーム アプリケーションではなく、Web ブラウザに表示される Web アプリケーションです。ASP.NET アプリケーションでは、ブラウザからの入出力を処理するために、System.Web 名前空間や System.Web.UI などのクラスを使用します。using System.Web.UI.HtmlControls; のようにメソッドの前にクラス名を使用したり、プログラムの先頭に using ステートメントを配置したりできます。ASP.NET アプリケーションは、Visual Studio や、メモ帳などのテキスト エディタを含む他の開発環境を使用して簡単に作成できます。ASP.NET アプリケーションの作成方法の詳細については、「Visual Web Developer」を参照してください。Visual Studio を使用して ASP.NET アプリケーションを作成する方法の詳細については、「アプリケーション ダイアグラムでの ASP.NET アプリケーションの概要」を参照してください。ASP.NET の詳細については、「.NET Framework の ASP.NET Web アプリケーション」を参照してください。ASP.NET アプリケーションのデバッグ方法の詳細については、「ASP.NET アプリケーションおよび AJAX アプリケーションのデバッグ」および「デバッグの準備 : ASP.NET Web アプリケーション」を参照してください。
ASP.NET Web サービス アプリケーション
ASP.NET Web サービスには、URL、HTTP、および XML を使用してアクセスできるので、プラットフォームや言語とは無関係にどのプログラムでも ASP.NET Web サービスにアクセスできます。ASP.NET Web サービス アプリケーションは、フォームのコンソール、Web ブラウザ、またはスマート デバイスに表示できます。ASP.NET Web サービス アプリケーションは、System.Web および System.Web.Services の名前空間とクラスを使用します。ASP.NET アプリケーションの Web サービスは、Visual Studio や、メモ帳などのテキスト エディタを含む他の開発環境を使用して簡単に作成できます。Web サービス アプリケーションの作成方法の詳細については、「データのアクセスと表示 (Visual C#)」および「方法 : ASP.NET Web サービス プロジェクトを作成する」を参照してください。既存のプロジェクトに ASP.NET Web サービスを追加する方法の詳細については、「方法 : マネージ コードを使用して既存の Web プロジェクトに Web サービスを追加する」を参照してください。ASP.NET Web サービスの詳細については、「チュートリアル : Visual Web Developer での ASP.NET Web サービスの作成と使用」および「チュートリアル : Visual Basic または Visual C# を使った Web サービスの作成」を参照してください。また、ASP.NET Web サービス アプリケーションをデバッグする方法の詳細については、「デバッグの準備 : XML Web サービス プロジェクト」を参照してください。
この他に ASP.NET Web サービスに関連する以下のようなトピックがあります。
スマート デバイス アプリケーション
スマート デバイス アプリケーションは、PDA や Smartphone などのモバイル デバイスで動作します。スマート デバイス アプリケーションは、コンソール アプリケーション、Windows フォーム アプリケーション、ASP.NET クライアント、または Web クライアントとして作成でき、コンソール、フォーム、または Web ブラウザに表示されます。スマート デバイス アプリケーションは、デスクトップ アプリケーションと同じ名前空間とクラスを使用します。ただし、このアプリケーションは、.NET Framework ではなく Compact Framework を使用します。開発環境のバージョンには、モバイル デバイスでの C# アプリケーションの一部またはすべての種類の開発をサポートできるものがあります。
この他にスマート デバイス アプリケーションに関連する以下のようなトピックがあります。
ActiveX コントロール
Java Beans と同様に、ActiveX コントロールは、"OLE オブジェクト" およびコンポーネント オブジェクト モデル (COM) オブジェクトに相当するコンポーネントです。最も単純な形式の ActiveX コントロールは、IUnknown インターフェイスをサポートする COM オブジェクトです。ActiveX コントロールは、Internet Explorer からソフトウェア開発ツール、エンド ユーザー生産性向上ツールに至るまでのさまざまなコンテナで再利用するためのプログラミング可能なソフトウェア コンポーネントの主要な開発アーキテクチャです。ActiveX コントロールの詳細については、以下を参照してください。
セットアップおよび配置アプリケーション
Visual Studio には、デスクトップ、Web、およびスマート デバイスのセットアップおよび配置プロジェクト用のテンプレートが用意されています。デスクトップ、Web、およびモバイル デバイスでの C# アプリケーションの一部またはすべての種類のセットアップおよび配置は、さまざまなバージョンの開発環境でサポートされています。詳細については、次のトピックを参照してください。