.NET Frameworkとは?
Microsoft .NETに対応したアプリを実行、開発するための環境のことです。
Windows10には標準でインストールされています。
.NET Frameworkの構成要素
- 共通言語ランタイム(CLR:Common Language Runtime)
- クラスライブラリ
共通言語ランタイム(CLR)
.NETの実行環境で、プログラム実行、セキュリティ管理、メモリ、スレッドの管理等を行います。
Visual Studioで作成された中間言語(MSIL)を機械語にコンパイルする役割もあります。
クラスライブラリ
.NETの機能を提供します。
例えば、下記のような機能があります。
- ASP.NET(Webアプリ開発)
- WPF(Windowsフォームアプリ開発)
- ADO.NET(データベースアクセス)
名前空間(ネームスペース)について
クラスライブラリは非常に多岐にわたるため関連するクラスをまとめて名前空間という概念で管理しています。
名前空間 | 内容 |
---|---|
System | 基本クラス |
System.Windows.Forms | Windowsフォーム |
System.Drawing | GDI+ 基本グラフィックス |
System.Web | Webアプリ |
System.Data | DB操作 |
System.IO | ファイルの属性、内容 |
System.Net | ネットワーク操作 |
System.XML | XML操作 |
名前空間の構文
基本的には、「プロジェクトデザイナー」にてよく使う名前空間はインポートされていますが、インポートされていない場合は、プログラムの先頭で下記のように記述します。
1 |
Imports 名前空間名 |
マネージドコード
Windows OS上で動作するプログラムは、「マネージドコード」と「アンマネージドコード」の二つに分かれます。
開発では長所短所がありますが、一般的には「アンマネージドコード」での開発は難易度が高いとされています。
特徴
- .NET Framework上のみで動作するコードのことです。
- メモリ管理を自動で行ってくれるガベージコレクタが.NET Frameworkの機能として存在する。
コードを作成する流れ
- コンパイルするとMSIL(Microsoft Intermediate Language)という中間コードに変換される。
- MSILは、JITコンパイラによってOS上で動作可能な実行可能コード(ネイティブコード)に変換されます。
また、ネイティブコードは、.NET Frameworkによって管理されて、CPU上で識別できます。
アンマネージドコード
特徴
.NET Frameworkに依存せずに直接Windows OS上で動作するコードのことです。
.NET Frameworkが登場したのは2002年ですが、その前まではWindiws APIとか、MFCを利用してこちらの方式でWindowsプログラミングを行うのが当たり前になっていました。
厳密なメモリ管理が必要になる。
メモリ管理を誤るとメモリリークが発生してしまいます。
コードを作成する流れ
- コンパイラによって、Windows OS上で動作可能なネイティブコードに変換されます。
アンマネージドコードは、.NET Framework上では管理対象となりません。
この記事へのコメントはありません。