使用する技術とツールの決定
更新 : 2007 年 11 月
アプリケーションをデザインする場合、さまざまな技術や手法の中から適切な選択を行うために、手掛かりとなる情報が必要になることがあります。このページでは、この選択肢について要約し、Visual Studio と .NET Framework を使用したアプリケーション開発に関する詳細な情報へのリンクを提供します。
Visual Studio と .NET Framework の使用目的
アプリケーションの作成
ユーザー インターフェイスあり
アプリケーション - Windows フォームと Web フォームのどちらにするかについては、「Windows フォームと Web フォーム間の選択」を参照してください。詳細については以下のページを参照してください。
コントロール - 詳細については、「デザイン時の Windows フォーム コントロールの開発」を参照してください。
Windows フォーム コントロール - 詳細については、「Windows フォーム コントロールの機能別一覧」を参照してください。
HTML サーバー コントロール - 詳細については、「HTML サーバー コントロール」を参照してください。
Web ユーザー コントロール - 詳細については、「ASP.NET ユーザー コントロールの概要」を参照してください。
Web カスタム コントロール - 詳細については、「ASP.NET カスタム サーバー コントロールの開発」を参照してください。
Windows Presentation Foundation コントロール - 詳細については、「コントロール ライブラリ」を参照してください。
サーバー ベースのコンポーネント
Windows サービス - 詳細については、「Windows サービスの監視」を参照してください。
プロセス - 監視コンポーネントを使用します。詳細については、「Windows プロセスの監視と管理」を参照してください。
パフォーマンス カウンタ - 詳細については、「パフォーマンスしきい値の監視」を参照してください。
イベント ログ - 詳細については、「アプリケーション、サーバー、およびセキュリティ イベントのログの記録」を参照してください。
ファイル システム - 詳細については、「ファイル システム イベントへの応答」を参照してください。
Active Directory - 詳細については、「System.DirectoryServices 名前空間の概要 [sds]」を参照してください。
メッセージング コンポーネント - 詳細については、「メッセージング コンポーネントの使用」を参照してください。
サーバー上のタイマ - 詳細については、「タイマ ベースのサーバー タスクの作成」を参照してください。
クライアント上のタイマ - 詳細については、「Timer コンポーネント (Windows フォーム)」を参照してください。
インターフェイスなし
実行可能ファイル
コマンド ライン アプリケーション - 詳細については、「コンソール アプリケーション テンプレート」を参照してください。
Windows サービス (以前の "NT サービス") - 長時間実行する Windows 実行可能ファイル。詳細については、「Windows サービス アプリケーション」を参照してください。
ライブラリ
XML Web サービス - XML Web サービスは、HTTP、XML、XSD、SOAP、WSDL などの標準プロトコルを使用して、相互運用可能なメッセージを疎結合環境で交換できるアプリケーションです。XML Web サービスは、Web アプリケーション、Windows デスクトップ アプリケーション、または他の XML Web サービスからアクセスできます。詳細については、「Web サービスを利用した Web のプログラミング」を参照してください。Visual Studio Team Edition for Architects に含まれる分散システム デザイナでの Web サービス開発の詳細については、「アプリケーション ダイアグラムでの ASP.NET アプリケーションの概要」を参照してください。
.NET コンポーネント - 詳細については、「コンポーネントの作成」を参照してください。
分散アプリケーションの作成
手順を説明した例については、「Web サービスのデザインのチュートリアル」を参照してください。
スマート デバイス アプリケーションの作成
Smartphone や Pocket PC などのデバイス上で動作する Windows CE ベースおよび Windows Mobile ベースのリッチ クライアント アプリケーションを開発できます。詳細については、「スマート デバイス開発」および「スマート デバイス開発のデザイン」を参照してください。
携帯電話、PDA (Personal Digital Assistant)、ポケットベルなどを対象とするアプリケーションを作成する場合は、モバイル Web フォームを使用してください。詳細については、「ASP.NET モバイル Web ページの作成」を参照してください。
データ中心のアプリケーションの作成
目的
複数の独立したテーブルで構成される結果を参照する。
複数のソースからのデータを操作する (たとえば、異なるデータベース、XML ファイル、スプレッドシートなどのデータが、すべて同じデータセットに存在する場合)。
他のアプリケーションとデータを交換する。
同一の行セットをキャッシュして再利用する (キャッシュされた結果の並べ替え、検索、フィルタ処理など)。
行ごとに多数の処理を実行する。
XML 変換または XPath などの XML の機能を使用してデータを操作する。
プログラミングをより簡単にする。
以上の場合はデータセットを使用します。詳細については、「Visual Studio のデータセットの概要」を参照してください。
それ以外の場合は直接アクセス (データ コマンドおよびデータ リーダー) を使用します。詳細については、「データ アクセスに関する推奨事項」を参照してください。
たとえば、次の場合にデータ コマンドとデータ リーダーを使用します。
DDL コマンドを実行する。
選択された条件に基づいて、更新または削除を実行する。
ユーザーとの対話を使用せずに、プログラムによってレコードを挿入する。
ストアド プロシージャを呼び出してサーバー内のロジックを実行する。
データベースからスカラ値を取得する。
結果の更新処理とキャッシュを行わずに、前方専用として結果セットを処理する。
メモリに格納できないほど大きな結果セットを処理する。
統合言語クエリ (LINQ: Language-Integrated Query)
LINQ は、クエリ構成体を Visual Basic および C# の言語に組み込みます。詳細については、「LINQ の概要」を参照してください。
いくつかの LINQ プロバイダを次に示します。
LINQ to Objects。インメモリ コレクションで使用します。
LINQ to SQL。SQL データベースのデータで使用します。
LINQ to XML。XML で使用します。さらに、Visual Basic には追加機能があります。詳細については、「XML (Visual Basic)」を参照してください。
LINQ to DataSet。ADO.NET データセットで使用します。
Web ベースのデータ アプリケーション
詳細については、「Visual Web Developer のデータ アプリケーションの作成」を参照してください。
XML Web サービスは、HTTP、XML、XSD、SOAP、WSDL などの標準プロトコルを使用して、相互運用可能なメッセージを疎結合環境で交換できるアプリケーションです。XML Web サービスには、デスクトップ アプリケーション (Windows フォーム)、Web アプリケーション、またはその他の XML Web サービスからアクセスできます。詳細については、「Web サービスを利用した Web のプログラミング」を参照してください。
Windows フォーム ベースのデータ アプリケーション
Windows フォームを使用します。詳細については、「クライアント データ アプリケーションの作成」を参照してください。
目的
DDL コマンドを実行する。
ストアド プロシージャを呼び出して、サーバー内のロジックを実行する。
データベースからスカラ値を取得する。
結果の表示、更新処理、またはキャッシュを行わずに、順方向専用として結果セットを処理する。
メモリに格納できないほど大きな結果セットを処理する。
以上の場合は直接アクセス (データ コマンドおよびデータ リーダー) を使用します。詳細については、「データ アクセスに関する推奨事項」を参照してください。
それ以外の場合はデータセットを使用します。詳細については、「Visual Studio のデータセットの概要」を参照してください。
たとえば、次の場合にデータセットを使用します。
結果をフォームに連結して、ユーザーがレコードを表示、挿入、更新、削除できるようにする。
複数の独立したテーブルで構成される結果を参照する。
複数のソースからのデータを操作する (たとえば、異なるデータベース、XML ファイル、スプレッドシートなどが、すべて同じデータセットに存在する場合)。
他のアプリケーションとデータを交換する。
同一の行セットを再利用する (取得された結果の並べ替え、検索、フィルタ処理など)。
XML 変換または XPath などの XML の機能を使用してデータを操作する。
スマート デバイス ベースのデータ アプリケーション
詳細については、「マネージ デバイス プロジェクトでのデータの操作」を参照してください。
Office ベースのデータ アプリケーション
詳細については、「Office ソリューションにおけるデータ」を参照してください。
Web サービス アプリケーションの作成
Windows Communication Foundation Web サービス
Visual Studio で Windows Communication Foundation Web サービスを使用する方法については、「チュートリアル : WCF サービスの作成とアクセス」を参照してください。
Windows Communication Foundation テクノロジの基本事項を理解するには、「基本的な WCF プログラミング」を参照してください。
XML Web サービス
XML Web サービスの作成に関するチュートリアルがいくつか用意されています。詳細については、Web サービスの作成とアクセスに関するチュートリアル を参照してください。マネージ コードを使用した Web サービスへのアクセス も参照してください。
Windows アプリケーションから XML Web サービスにアクセスするための操作手順の例については、「チュートリアル : Windows フォームからの XML Web サービスの呼び出し」を参照してください。
Windows アプリケーションから XML Web サービスにアクセスするための操作手順の例については、「チュートリアル : Visual Basic または Visual C# を使った Web サービスへのアクセス」を参照してください。
分散システム デザイナで XML Web サービスの配置をデザインおよび評価するための操作手順の例については、「分散システム デザイナのチュートリアル (入門編)」を参照してください。
ワークフロー アプリケーションの作成
Windows Workflow Foundation は、Windows 上でワークフロー対応のアプリケーションをすばやく作成するためのプログラミング モデル、エンジン、およびツールです。
さまざまな種類のワークフローの概要については、「Windows Workflow Foundation の概要」を参照してください。
Visual Studio には、ワークフロー アプリケーションの作成を簡単にするツールが用意されています。詳細については、「ワークフロー プロジェクトの作成」を参照してください。
Office 開発ソリューションの作成
Microsoft Visual Studio Tools for the Microsoft Office System (version 3.0) を使用すると、マネージ コードを使用して Microsoft Office ドキュメントや Microsoft Office Outlook をカスタマイズできます。
Office アプリケーションを使用するソリューションの作成方法については、「Office プログラミングの共通タスク」を参照してください。
カスタム コントロールまたはカスタム コンポーネントの作成
Windows フォーム コントロールの使用方法の詳細 (アプリケーションのセキュリティ設定、プロパティの設定、イベント処理、コントロールの固定など) については、「Windows フォーム コントロール」を参照してください。
コントロールの作成にどちらの方法を使用するかについては、「コントロールの種類に関するアドバイス」を参照してください。
Windows フォーム コントロール
詳細については、「デザイン時の Windows フォーム コントロールの開発」を参照してください。
既存の Windows フォーム コントロールに機能を追加する場合は、Windows フォーム コントロールを直接継承します。操作手順の例については、「チュートリアル : Visual Basic による Windows フォーム コントロールからの継承」または「チュートリアル : Visual C# による Windows フォーム コントロールからの継承」を参照してください。
既存のコントロールを新しいコントロールに組み合わせる場合は、UserControl クラスを継承します。詳細については、「方法 : UserControl クラスを継承する」を参照してください。
コントロールを最初から作成する場合は、Control クラスを継承します。詳細については、「方法 : コントロール クラスを継承する」を参照してください。
COM
.NET コンポーネントを COM へ公開 - 詳細については、「COM への .NET Framework コンポーネントの公開」を参照してください。
COM コンポーネントを .NET Framework に公開 - 詳細については、「.NET Framework への COM コンポーネントの公開」を参照してください。
コンポーネント
XML Web サービス。厳密にはコンポーネントではありませんが、Windows アプリケーション、Web アプリケーション、または他の XML Web サービスから呼び出すことができます。詳細については、「Web サービスを利用した Web のプログラミング」を参照してください。
.NET コンポーネント - 詳細については、「コンポーネントの作成」を参照してください。
タスクの自動化または環境の拡張
マクロ、アドイン、またはウィザードを使用する必要があるかどうかを判断するには、「Visual Studio オートメーションの範囲」を参照してください。また、「適切なオートメーション方法の選択」も参照してください。
マクロ (Visual Basic のみ) - 詳細については、「マクロの使用による反復操作の自動化」を参照してください。
アドイン - 詳細については、「方法 : アドインを作成する」を参照してください。
ウィザード - 詳細については、「チュートリアル : ウィザードの作成」を参照してください。
詳細については、「プロジェクト機能拡張の概要」を参照してください。
新しいプロジェクト タイプの作成やエディタのカスタマイズなど、開発環境の高度なカスタマイズについては、「Visual Studio オートメーションの範囲」の「VSIP (Visual Studio Integrator Program)」のセクションを参照してください。
ビルド、デバッグ、またはテスト
Visual Studio で使用できるビルド オプションの詳細については、「Visual Studio でのビルド」を参照してください。
Visual Studio でのデバッグの概要については、「デバッガのロードマップ」を参照してください。
詳細については、次のトピックを参照してください。
アプリケーションのプロファイリング
詳細については、「アプリケーションのトレースとインストルメント」を参照してください。
アプリケーションの配置
使用する配置プロジェクトの種類を選択する場合に役立つ情報については、「配置ストラテジの選択」および「セットアップ/配置プロジェクト」を参照してください。
Visual Studio ソリューション。詳細については、「ClickOnce アプリケーションの発行」を参照してください。
Web アプリケーション。詳細については、「Web Setup プロジェクトの配置」を参照してください。
Web サービス。詳細については、「方法 : マネージ コードを使用して Web サービスを配置する」を参照してください。
Windows アプリケーション。例については、「チュートリアル : Windows ベースのアプリケーションの配置」を参照してください。
NET コンポーネント。詳細については、「マージ モジュール プロジェクト」を参照してください。操作手順の例については、「チュートリアル : マージ モジュールを使用した共有コンポーネントのインストール」を参照してください。
ActiveX コントロール。詳細については、「Cab ファイル プロジェクト」を参照してください。手順を説明した例については、「方法 : Cab プロジェクトを作成または登録する」を参照してください。
Visual Studio Team Edition for Architects を使用してアプリケーション システムを対象データセンターに配置する場合に、その配置を評価する方法については、「チュートリアル : 配置したアプリケーション システムの検証」および「配置デザイナによるシステム配置の評価」を参照してください。
以前のバージョンからのアップグレード
Visual Basic。詳細については、「以前のバージョンの Visual Basic で作成されたアプリケーションのアップグレード」を参照してください。
C++。詳細については、「プログラムの移植とアップグレード」を参照してください。
機能について
新機能
Visual C++ 2005 とそれ以前のエディションの変更点
Visual Studio Tools for Office の新機能
Microsoft Visual Database Tools の新機能