.NET Frameworkとは?

.NET Frameworkの概要について説明します。


ランタイム実行環境である

「.NET Frameworkとは、.NET Frameworkを対象としたアプリを管理するランタイム実行環境です。」とMicrosoftのサイトには説明されています。

この説明で.NET Frameworkを分かる方は、少人数だと思います。


アプリケーションを動かすサポート

皆さんが普段使用するアプリケーションというのは、実は様々な開発環境で作られています。

パソコンやOS、プログラミング言語、コンパイル環境といった開発で必要なツールがたくさんが存在し、何を選んで開発するかは開発者の好みとなります。

しかしたくさんの方に使ってもらうには、沢山の人がごく普通に持っている一般的なパソコンで動くことが必須です。

このパソコンに実は普通に入っているもの、その一つに「.NET Framework」というものがあります。

これはアプリケーションを動かすためのサポートをしてくれるものであり、単独で役に立つものではありません

ここからは.NET Frameworkについて分かりやすく説明していこうと思います。


開発者から見た.NET Framework

開発者視点

開発者がアプリケーションを開発するために必要なツールを選択する場合、初めに.NET Frameworkを使って動くアプリケーションを作ろうと考え、平行してどのプログラミング言語で作成するか、またどのような開発環境で作成するかを考えます。

.NET Frameworkはとても優秀で、例えばVisual Basic、C#、F#、C++といったたくさんのプログラミング言語に対応しており、開発者を悩ませません。


プログラミング言語へのサポート

この.NET Frameworkを利用しプログラミング言語をサポートする開発環境がMicrosoftから提供されています。

開発者はその開発環境を1つ用意すれば何でも作れる状態になっています。


ユーザから見た.NET Framework

実はユーザは何も意識することなくアプリケーションを使うことができます。

ただし、開発者がアプリケーションを開発するときに最初に考えた.NET Frameworkがパソコンに入ってないとアプリケーションは動かないのです。


.NET Frameworkの特徴

ここで、.NET Frameworkが持つ特徴を見ていきましょう。


共通言語ランタイム

アプリケーションを実行するための、共通言語ランタイム(CLR=Common Language Runtime)というものを備えています。

先ほど開発者はいろんなプログラミング言語から好きな言語を選べるといいましたが、どの言語で書いていたとしてもあるツールで変換をかけることで、共通中間言語という共通のコードになります。

この共通中間言語を.NET Frameworkが持つ共通言語ランタイム(CLR)を使うことで、コンピュータの機種やOSに依存せず実行することが可能となります。

この他に共通言語ランタイム(CLR)は、例外処理、ガーベジコレクション)、スレッド管理、セキュリティなどの機能を提供するため、開発者がプログラムを書くときの負担を少なくし、メイン処理に集中できるため大変重宝されています。


基本クラスライブラリ

プログラムを書く時に必要な、BCL(Base Class Library)と呼ばれる基本クラスライブラリを提供しています。

基本データ型やデータ構造カプセル化、ファイル入出力等といった基本クラスが定義されており、下位レベルであるWindows OSとのやりとりを忠実に言語化せずともAPIを利用した開発が可能となっています。


Webサービス

.NET Framework アプリケーションだけでなく、XML、SOAPを使ったインターネットをベースにしたウェブサービスに対応しています

異なるパソコン上でプログラムがネットワーク経由で連携することで、Windows以外のOS上でも稼働することができるアプリケーションを使用することができます。


.NET Frameworkの導入方法

.NET Frameworkのインストール方法について説明します。

  1. Microsoftのウェブサイトから、自分のPCのOSバージョンに合ったリンク先をクリックしてください。
  2. .NET Frameworkの最新バージョンが表示されますので、「.NET Framwork X.X(バージョンが入ります)のダウンロード」をクリックし、英語表記のMicrosoftのサイトを開いてください。
  3. “Runtime”もしくは”Delveloper Pack”を選んでDownloadリンクをクリックします。開発者は”Delveloper Pack”、開発者以外の方は“Runtime”を選んでください。
  4. ダウンロードしたexeファイルを実行してください。あとは、画面に沿ってインストールします。

これでインストールは終了です。Microsoftがまとめているインストールガイドもありますので、参考にしてください。

なお、OSのバージョンが分からない方は以下の方法で確認できます。

  1. キーボードのWindowsキーを押しながら、[R]キーを押します。
  2. [ファイル名を指定して実行]画面が表示されるので、[名前]欄に「winver」と入力し、[OK]ボタンを選択します。
  3. [Windows のバージョン情報]画面が表示されるので、バージョンを確認します。


.NET Frameworkがインストールできない場合の対処方法

なぜかインストールに失敗する…

ちゃんと上記の手順に従っているのに、何故かインストールできない。

このような場合、まずは互換性について疑ってみてください。この互換性のルールを知ることは重要です。


.NET Frameworkのバージョンを確認する

.NET Frameworkは大きく2つのバージョンが存在します。

  • .NET Framework2.0/3.0/3.5系
  • .NET Framework4系

1と2は独立しているため、同じパソコンに対し両方ともインストールすることができます。


.NET Frameworkの管理体系

.NET Framework2.0/3.0/3.5系と.NET Framework4系では管理体系が異なります。

  • .NET Framework2.0/3.0/3.5系は下位バージョンを「包括」する
  • .NET Framework4系は「共存不可」である(インプレース更新)

.NET Framework2.0/3.0/3.5系はバージョンが上がることにより新機能が多数追加され、以前のバージョンを上書きする形でアップデートが可能となります。

しかし、.NET Framework4系は各々のバージョンが独立しているため今インストールしている.NET Frameworkをアンインストールして、新しいバージョンの.NET Frameworkをインストールする必要があります。

例えばお使いのPCに.NET Framework 4.6.2がインストールされている状態だとします。

もし、使いたいソフトウェアが .NET Framework 4.5.2 以上である場合、.NET Framework 4.5.2をインストールする必要はありません。インストールしようと思ってもできません。

もし、使いたいソフトウェアが.NET Framework 3.5である場合、4.6.2では内包されていないため別途インストールが必要となってきます。


インストール可能なOSバージョンを確認する

WindowsOSとの対応を確認してください。

また参考までに、Windows Serverの対応バージョンも以下に記載します。

.NET FrameworkWindows OS
Windows Server OS
12000/XP2000/2003
1.12000/XP/Vista2000/2003/2008
22000/XP/Vista/7/8/8.1/10
2000/2003/2008/2012/2016
3XP/Vista/7/8/8.1/10
2003/2008/2012/2016
3.5XP/Vista/7/8/8.1/10
2003/2008/2012/2016
4XP/Vista/72003/2008
4.5Vista/7/8/8.12008/2012
4.6Vista/7/8/8.1/102008/2012/2016
4.77/8.1/10/10CU2008/2012/2016
4.87/8.1/10
2008/2012/2016/2019


Windows Updateを試してみる

.NET FrameworkとOSのバージョンも合っているのに、インストールに失敗する場合は、Windows Updateを実施してみて、再度インストールを試してみてください

インストールしたい.NET Frameworkのバージョンによって、WindowsのKBの更新プログラムをインストールが必要な場合もあります。


それでもインストールできない場合

上記全て実施下にも関わらずインストールできない場合は、.NET Framework以外の環境問題の可能性があります。

MicorosoftのWebサイトにエラーメッセージ毎によるトラブルシューティングが載っているため参考にしてみてください。


バージョン確認方法

.NET Frameworkをインストールし、いざ自分が使用したいアプリケーションを実行しようとすると、エラーメッセージが表示されて実行できない場合があります。

それは、インストールされている.NET Frameworkのバージョンとアプリケーションが使用する.NET Frameworkのバージョンが異なるからです。

実行時に表示されるエラーメッセージに必要なバージョンが書いてあることが多いため、そのバージョンをインストールするようにしてください。

それではバージョン確認方法を説明します。


.NET Framework 4.5 以降のバージョン確認方法

.NET Framework 4.5 以降のバージョンは以下の方法で確認することができます。

  1. キーボードのWindowsキーを押しながら、[R]キーを押します。
  2. [ファイル名を指定して実行]画面が表示されるので、[名前]欄に「regedit」と入力し、[OK]ボタンをクリックします。もしユーザーアカウント制御の確認が出た場合、「はい」をクリックしてください。
  3. レジストリエディター画面が表示されたら、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full までツリーをたどってください。もしFull サブキーが見つからない場合、NET Framework 4.5 以降はインストールされていません。
  4. “Release”キーに対応するデータの値を10進数で確認し、”最小値”列に記載している数値と比較して対応する.NET Frameworkのバージョンを確認してください。
最小値.NET Framework のバージョン
378389.NET Framework 4.5
378675.NET Framework 4.5.1
379893.NET Framework 4.5.2
393295.NET Framework 4.6
394254.NET Framework 4.6.1
394802.NET Framework 4.6.2
460798.NET Framework 4.7
461308.NET Framework 4.7.1
461808.NET Framework 4.7.2
528040.NET Framework 4.8


.NET Framework 1.0から4.0のバージョン確認方法

.NET Framework 1.0から4.0のバージョンは以下の方法で確認できます。

  1. キーボードのWindowsキーを押しながら、[R]キーを押します。
  2. [ファイル名を指定して実行]画面が表示されるので、[名前]欄に「regedit」と入力し、[OK]ボタンをクリックします。もしユーザーアカウント制御の確認が出た場合、「はい」をクリックしてください。
  3. レジストリエディター画面が表示されたら、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\までツリーをたどってください。
  4. その子フォルダ名がバージョンとなります。また、”Version”のデータの値でも判別可能です。
レジストリーエディタのパス.NET Framework のバージョン
HKLM\Software\Microsoft\.NETFramework\Policy\v1.0\370.NET Framework 1.0
HKLM\Software\Microsoft\NET Framework Setup\NDP\v1.1.4322.NET Framework 1.1
HKLM\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727.NET Framework 2.0
HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.0\Setup.NET Framework 3.0
HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.5.NET Framework 3.5
HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Client.NET Framework 4.0 Client Profile
HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full.NET Framework 4.0 Full Profile


まとめ

.NET Frameworkについて説明しましたが、いががでしたでしょうか。

今でもMicrosoftは.NETを進化させ続けており、.NET FrameworkはWindows向けのランタイム実行環境ですが、.NET Coreと呼ばれる、Linux系OSやmacOSも対象とした実行環境も存在します

アプリケーションエンジニア、WEBエンジニアの方が.NETを使えることでポータブルスキルが向上し、市場価値が高まるはずです。

まずは使ってみて、そして作ってみるのもよいかもしれません。


toiroフリーランスは、SHIFTグループがプライムとして参画している独自案件をフリーランスエンジニア向けに紹介する唯一のプラットフォームサービスです。

エージェントによるサポートもありますので、ご利用を検討してみてはいかがでしょうか。