.NET Framework
.NET Frameworkの最新ニュースをまとめて検索!
| Microsoft .NET Framework | |
|---|---|
| 開発元 | Microsoft |
| 最新版 | 3.5 SP1 / 2008年8月12日 |
| 対応OS | Windows XP, Windows Server 2003, それ以降 |
| プラットフォーム | Microsoft Windows |
| 種別 | プラットフォーム |
| ライセンス | Microsoft EULA, Microsoft Reference License (BCL) |
| 公式サイト | www.microsoft.com/japan/net/ |
Microsoft .NET Framework(マイクロソフト ドットネット フレームワーク)は、マイクロソフトが開発したアプリケーション開発、実行環境。
WindowsアプリケーションだけでなくXML WebサービスやウェブアプリケーションなどWebベースのアプリケーションなどを取り入れた環境。一般に.NETという場合、.NET全体の環境を指す。
また.NET Frameworkの基盤となっている仕様である共通言語基盤 (CLI)はEcmaインターナショナル、ISO、JISにて標準化されており[1][2][3]、マイクロソフト以外のベンダーが独自に実装することもできる。実際にいくつかのオープンソースによる実装プロジェクトがある。なお、CLIのマイクロソフトの実装を共通言語ランタイム (CLR)と呼ぶ。.NET Frameworkは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ではサンドボックスの概念を用いることなく、様々な権限レベルでコードを実行することができる。
[編集] アーキテクチャ
[編集] 共通言語基盤
詳細は「共通言語基盤」を参照
.NET Frameworkにおける最も重要な概念は共通言語基盤 (CLI) に含まれている。CLIの目的は言語に依存しない開発環境および実行環境を提供することである。マイクロソフトによるCLIの実装は共通言語ランタイム (CLR) と呼ばれる。CLRは次の主要な五項目からなる。
- 共通型システム (CTS: Common Type System)
- 共通言語仕様 (CLS: Common Language Specification)
- 共通中間言語 (CIL: Common Intermediate Language)
- ジャストインタイムコンパイラ (JIT: Just-in-time compiler)
- 仮想実行システム (VES: Virtual Execution System)
[編集] アセンブリ
詳細は「アセンブリ (.NET)」を参照
CILのコードはアセンブリ(WindowsにおいてはPE形式)の中に格納される。アセンブリは配置・バージョン・セキュリティの単位である。
[編集] メタデータ
詳細は「メタデータ (.NET)」を参照
全てのCILコードはそれ自身の情報をメタデータとして保持している。CLRは正しいメソッド呼び出しが行われていることをメタデータによってチェックしている。メタデータはコンパイラによって生成されるが、開発者が独自のメタデータをカスタム属性として付加することも可能である。
[編集] バージョン
各バージョンは上位互換性が原則としてある。しかし、1.1から2.0へは一部が上位互換性がない。2.0以降は上位互換があるとされている。
| バージョン名 | バージョン番号 | リリース日 |
|---|---|---|
| Pre-beta | ?.?.?.? | 2000年7月11日 |
| 1.0 Beta1 | 1.0.?.0 | 2000年9月 |
| 1.0 Beta2 | 1.0.2914.0 | 2001年6月20日 |
| 1.0 RTM | 1.0.3705.0 | 2002年1月5日 |
| 1.0 SP1 | 1.0.3705.209 | 2002年3月19日 |
| 1.0 SP2 | 1.0.3705.288 | 2002年8月7日 |
| 1.0 SP3 | 1.0.3705.6018 | 2004年8月31日 |
| 1.1 RTM | 1.1.4322.573 | 2003年4月1日 |
| 1.1 SP1 | 1.1.4322.2032 | 2004年8月30日 |
| 1.1 SP1 (Server 2003) | 1.1.4322.2300 | 2005年3月30日 |
| 2.0 RTM | 2.0.50727.42 | 2005年11月7日 |
| 2.0 RTM (Vista) | 2.0.50727.312 | 2007年1月30日 |
| 2.0 (KB928365) | 2.0.50727.832 | 2007年7月10日 |
| 2.0 SP1 | 2.0.50727.1433 | 2007年11月19日 |
| 2.0 SP1 (NT6.0 SP1) | 2.0.50727.1434 | 2008年2月4日 |
| 2.0 SP2 | 2.0.50727.3053 | 2008年8月12日 |
| 2.0 SP2 (KB959209) | 2.0.50727.3074 | 2009年1月26日 |
| 2.0 SP2 (NT6.0 SP2) | 2.0.50727.4016 | 2009年4月29日 |
| 2.0 SP2 (Windows 7) | 2.0.50727.4927 | 2009年7月13日 |
| 3.0 RTM | 3.0.4506.30 | 2006年11月6日 |
| 3.0 RTM (Vista) | 3.0.4506.26 | 2007年1月30日 |
| 3.0 SP1 | 3.0.4506.648 | 2007年11月19日 |
| 3.0 SP2 | 3.0.4506.2123 3.0.6920.1453 |
2008年8月12日 |
| 3.0 SP2 (NT6.0 SP2) | 3.0.4506.4037 3.0.6920.4000 |
2009年4月29日 |
| 3.0 SP2 (Windows 7) | 3.0.4506.4926 3.0.6920.4902 |
2009年7月13日 |
| 3.5 RTM | 3.5.21022.8 | 2007年11月19日 |
| 3.5 SP1 | 3.5.30729.1 | 2008年8月12日 |
| 3.5 SP1 (Windows 7) | 3.5.30729.4926 | 2009年7月13日 |
[編集] .NET Framework 1.0
.NET Frameworkの最初のバージョンである。Windows 98、NT 4.0、2000、XP向けに提供された。
[編集] .NET Framework 1.1
.NET Frameworkの最初のバージョン更新である。
- .NET Framework 1.0からの主な変更点
- ASP.NETのモバイル向け機能の追加
- セキュリティ仕様の変更
- ODBCとOracle Database用のデータ接続の標準サポート
- IPv6のサポート
- 多数のAPIの変更
[編集] .NET Framework 2.0
いくつかのAPIの追加とCLRに変更が加えられた。次のような特徴を持っている。Microsoft Visual Studio 2005以降で開発可能である。
- .NET Framework 1.1からの主な変更点
- データバインディングの新しいAPIの追加
- ASP.NETのウェブコントロールを幾つか追加
- ネイティブアプリケーションへの新しいホスティングAPI
- CLRのジェネリクスの対応
- 64ビット(x64とIA-64)システムへの対応
- .NET Micro Frameworkの追加
- 多数のAPIの変更
[編集] .NET Framework 3.0
もともと「WinFX」という名称で提供される予定だったが、2006年6月に現在の名称に変更された[4]。Windows VistaやWindows Server 2008には標準搭載されている。Windows 2000では動作せず、Windows XP以降が必要である。
クラスライブラリやCLRなどの基盤は.NET Framework 2.0から変更されておらず、以下の4つの新しいテクノロジーを加えたものとなっている。
- Windows Presentation Foundation (WPF)
- XMLに基づく新しいユーザインタフェースサブシステム。
- Windows Communication Foundation (WCF)
- 新しい通信サブシステム。
- Windows Workflow Foundation (WF)
- ワークフローによるアプリケーション開発のためのフレームワーク。
- Windows CardSpace (WCS)
- ユーザの個人情報をセキュアに管理し、統一されたアクセス方法を提供するためのフレームワーク。
[編集] .NET Framework 3.5
バージョン3.0と同様、CLRのバージョンは2.0のままで、いくつかの追加が行われている。.NET Framework 3.5のリリースと同時に基本クラスライブラリ (BCL) はMicrosoft Reference Licenceのライセンス下で公開された。また、J#言語が開発言語として対応を終了した。
主に含まれる変更点は
- ASP.NET AJAXの対応
- Language Integrated Query
- C#とVBコンパイラの変更
等がある。
[編集] .NET Framework 4.0
CLRのバージョンは4となる。Visual Studio 2010 で対応される予定。
- IronRuby、IronPython、F# のフル サポート
- 動的言語ランタイム (DLR)
- Managed Extensibility Framework (MEF)
- Parallel Extensions(並列プログラミング)
- Velocity(分散キャッシュAPI)
- NUI (Windows タッチ)アプリケーションの開発
など。
[編集] 開発環境
C#やVisual Basic (Visual Basic.NET)、JScript.NETのコンパイラ、各種ツール、ドキュメントなどSDKはマイクロソフトから無償で配布されている。
[編集] 統合開発環境
- Microsoft Visual Studio
- Borland C# Builder for the Microsoft .NET Framework
- Borland Delphi 8 for the Microsoft .NET Framework
- Borland Delphi 2005
- SharpDevelop
[編集] 用語
- マネージコード
- CLRがメモリを完全に把握/管理できるコード。.NET Frameworkで作成するコードの大半はマネージコードである。マネージコード以外のコード(Win32アプリケーション、COMコンポーネントやアンセーフなコード)をアンマネージコードという。
- アプリケーションドメイン
- CLRから見たプロセス空間のようなもので、それぞれ独立したドメインの中でコードを動作させることができる。一つのアプリケーションはCLRを一つしかホストできないが、CLRには複数のアプリケーションドメインを持つことができる。
- メタデータ
- 依存関係をはじめクラスや型、インタフェースなどコードに関する情報。
- 属性
- メソッドやクラス、アセンブリに宣言できメタデータとして格納される情報。
System.Attributeから派生させたクラスとして開発者が独自に作成でき、実行時に参照・利用できる(カスタム属性)。またCLRのみが認識できる擬似カスタム属性もある。 - アセンブリ
- アプリケーションを配置、利用するときの単位。アセンブリにはメタデータが含まれており、サテライトアセンブリを除き、モジュール、リソースも含まれている。アプリケーションドメインに読み込むことのできる最小の単位でもある。
[編集] Windows以外のプラットフォームでの実装
- Mono
- オープンソースプロジェクトによる.NET Framework互換環境の実装。
- DotGNU Project
- オープンソースプロジェクトによる.NET Framework(CLI+MS拡張)互換環境の実装。GPLに基づいて開発(一部ライブラリなどに例外等がある)。
- Shared Source CLI
- MicrosoftによるFreeBSDとMac OS XとWindowsのECMA CLI/C#の実装。
- .net by au
- BREWプラットフォームを用いたKDDIおよび沖縄セルラー電話が提供するau携帯電話専用の.NET Framework互換環境の実装。ただし、利用できるのは法人専用端末のE05SH、E06SHの2機種とWindows XPがインストールされたPCのみ[5]。
[編集] 脚注
- ^ Ecmaインターナショナル (6月 2006年). "Standard ECMA-335 Common Language Infrastructure (CLI)" (英語). 2008-01-15 閲覧。
- ^ ISO/IEC (2006-09-27). "ISO/IEC 23271:2003Information technology -- Common Language Infrastructure" (英語). ISO/IEC JTC 1/SC 22. 2008-01-15 閲覧。
- ^ マイクロソフト (2006-11-20). "Microsoft(R) .NET Frameworkの基本仕様である共通言語基盤(CLI)が日本工業規格(JIS) X3016として公示". 2008-01-15 閲覧。
- ^ マイクロソフト (2006-06-12). "WinFX から .NET Framework 3.0 への名前変更について". MSDNライブラリ. 2009-01-15 閲覧。
- ^ KDDI(2009-01-21)「.net by au (ドットネット バイ エーユー)」の提供開始について 2009-02-27閲覧。
[編集] 外部リンク
- Microsoft .NET Framework Developer Center(日本語)
- Microsoft .NET Framework 3.0 Community (NetFx3)
- Shared Source CLI
[編集] ダウンロード
- .NET Framework ダウンロード情報
- .NET Framework 3.5
- .NET Framework 3.0
- .NET Framework 2.0 日本語
- .NET Framework 1.1
- 再頒布 パッケージ
- 日本語 Language Pack
- Service Pack 1 - 2000/XP/98/Me, Server 2003
- ASP.NET セキュリティ アップデート - KB886903
- Software Development Kit
|
|||||||||||||||||||||||||||||
|
|||||||||||||||||
最終更新 2009年8月28日 (金) 03:53 (日時は個人設定で未設定ならばUTC)。
【.NET Framework】変更履歴


