.NET_Framework
[Wikipedia|▼Menu]

Microsoft .NET Framework
開発元マイクロソフト
対応OSWindows 7,
Windows Server 2008 R2,
それ以降[1]
後継.NET
サポート状況セキュリティ・アップデートとバグ修正のみ対応
種別プラットフォーム
ライセンスMicrosoft EULA,
Microsoft Reference License (BCL),
MITライセンス,
プロプライエタリ
公式サイトdotnet.microsoft.com 
テンプレートを表示

Microsoft .NET Framework(マイクロソフト ドットネット フレームワーク)は、マイクロソフトが開発していたアプリケーション開発・実行環境である。バージョン4.8をもって.NET Frameworkのメジャーアップデートは終了し、セキュリティバグ修正のための更新は継続されるが、以降の新規開発における推奨環境は.NETとなった[2]

Windowsアプリケーションだけでなく、XML WebサービスウェブアプリケーションなどWebベースのアプリケーションなども包括した環境となっている。一般に.NETという場合、.NET全体の環境を指す。現在はOSS版の.NET CoreMonoも包括した技術仕様の総称を.NETと呼び、プロプライエタリの初期から存在する従来のWindows専用実装のみを.NET Frameworkと呼んで区別している。
アーキテクチャ.NET Frameworkにおけるコードの流れ
共通言語基盤詳細は「共通言語基盤」を参照

.NET Frameworkにおける最も重要な概念は共通言語基盤 (CLI) に含まれている。CLIの目的は言語に依存しない開発環境および実行環境を提供することである。マイクロソフトによるCLIの実装は共通言語ランタイム (CLR) と呼ばれる。CLRは次の主要な5項目からなる。

共通型システム (CTS: Common Type System)

共通言語仕様 (CLS: Common Language Specification)

共通中間言語 (CIL: Common Intermediate Language)

ジャストインタイムコンパイラ (JIT: Just-in-time compiler)

仮想実行システム (VES: Virtual Execution System)

アセンブリ詳細は「アセンブリ (共通言語基盤)」を参照

CILのコードはアセンブリ(WindowsにおいてはPE形式)の中に格納される。アセンブリは配置・バージョン・セキュリティの単位である。
メタデータ詳細は「メタデータ (共通言語基盤)」を参照

全てのCILコードはそれ自身の情報をメタデータとして保持している。CLRは正しいメソッド呼び出しが行われていることをメタデータによってチェックしている。メタデータはコンパイラによって生成されるが、開発者が独自のメタデータをカスタム属性として付加することも可能である。
設計目標と重要な特徴

.NET Frameworkは次のような目標に基づいて設計されている。
相互運用性
.NETアプリケーションや.NETクラスライブラリではないプログラムとの相互運用を可能にするためのアクセス方法を提供する。例えばCOMコンポーネントへのアクセスはSystem.Runtime.InteropServicesやSystem.EnterpriseServicesなどの名前空間によって提供され、それ以外の機能はP/Invokeによって提供される。
共通の実行環境
.NET Frameworkにおいてはあらゆる言語で記述されたプログラム共通中間言語と呼ばれる中間言語コンパイルされる。マイクロソフトの実装では、この中間言語はJITコンパイラによって実行時にネイティブコードにコンパイルされる。これらの概念は共通言語基盤の仕様に含まれており、マイクロソフトによる共通中間言語の実装を共通言語ランタイムと呼ぶ。
言語への非依存性
.NET Frameworkは共通型システムと呼ばれる概念を導入した。共通型システムの仕様には共通言語ランタイムでサポートされるデータ型について定義されている。このため、複数の言語を用いた開発が可能になる。
基本クラスライブラリ (BCL)
基本クラスライブラリは全ての.NET Frameworkで利用可能なクラスライブラリである。BCLはファイル入出力、グラフィックス、データベース、XML文書処理など、多くの共通機能をカプセル化したクラス群を提供する。
配置
ソフトウェアをコンピュータにインストールする際、既にインストールされているソフトウェアとの相互干渉やセキュリティといった問題に注意しなければならない。.NET Frameworkはこういった要求に応えるための機能やツールを提供する。
セキュリティ
.NET Frameworkではサンドボックスの概念を用いることなく、様々な権限レベルでコードを実行することができる。
用語
マネージコード
CLRがメモリを完全に把握/管理できるコード。.NET Frameworkで作成するコードの大半はマネージコードである。マネージコード以外のコード(Win32アプリケーション、COMコンポーネントやアンセーフなコード)をアンマネージコードという。
アプリケーションドメイン
CLRから見たプロセス空間のようなもので、それぞれ独立したドメインの中でコードを動作させることができる。一つのアプリケーションはCLRを一つしかホストできないが、CLRには複数のアプリケーションドメインを持つことができる。
メタデータ
依存関係をはじめクラスや型、インタフェースなどコードに関する情報。
属性
メソッドやクラス、アセンブリに宣言できメタデータとして格納される情報。System.Attributeから派生させたクラスとして開発者が独自に作成でき、実行時に参照・利用できる(カスタム属性)。またCLRのみが認識できる擬似カスタム属性もある。
アセンブリ
アプリケーションを配置、利用するときの単位。アセンブリにはメタデータが含まれており、サテライトアセンブリを除き、モジュール、リソースも含まれている。アプリケーションドメインに読み込むことのできる最小の単位でもある。
開発環境

C#Visual Basic .NETF#JScript .NETのコンパイラ、各種ツール、ドキュメントなどのSDKはマイクロソフトから無償で配布されている。
統合開発環境

.NET Frameworkに対応しているものは以下。

Microsoft Visual Studio

SharpDevelop

JetBrains Rider

Embarcadero Prism - 2012年を最後に終了

Borland C# Builder - 2006年を最後に終了

.NET Frameworkだけでなく、互換環境であるMono.NET Coreに対応しているものもある。
Microsoft Visual Studio へのプラグイン

ReSharper
- ジェットブレインズ

オープンソース化

2014年11月12日、米国マイクロソフトによるイベント「Connect();」で、.NET Frameworkのうち下記の物をMITライセンスの下で公開したことが発表された[3]

.NET Framework 4.6 リファレンスソース

ASP.NET 5

Entity Framework 6

.NET Core 1.0 (発表当初は5)

.NET Compiler Platform ("Roslyn")

これらは製品レベルの実装であり、シェアードソース実装ではない。ターゲットとして、既存のWindowsプラットフォームの他に、LinuxOS Xが含まれる。

.NET Framework 4.6 のリファレンスソースがMITライセンスになったことにより、それが Mono 4.0 に取り込まれた[4]
マイクロソフト社以外の実装


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:86 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef