MENU

.NET ってなんだろう

目次

対象者

  • .NET初心者
  • .NET, .NET Framework, ASP.NET MVCの用語がよくわからなくてもやもやしている。
  • Visual Studioを用いて、使用している.NETやASP.NET MVCのversionを知りたい。

.NET っていったいどれを指してる?

「.NET Core 6.0は、.NET frameworkの続きで、」
「.NET Core 5以降は.NETと表記し」、「MVCを用いて」・・・・。

いったん整理させてもらっていいですか・・・。

.NETってなんだろう

.NETとは

Microsoftによって開発された、無料かつオープンソースのアプリケーション開発プラットフォームです。

Microsoft公式 拙訳

.NETは、OS上でアプリケーションを動作させるための環境です。.NET Frameworkもアプリケーション開発プラットフォームで、.NETは.NETFrameworkの後継にあたります。

.NETの歴史

Optimizely “.NET”

.NET Framework

.NET Frameworkが開発される以前、applicationの開発には、applicationの種類に合わせた開発を行わなければいけませんでした。例えば、Web applicationを開発する環境とClient appを開発する環境は異なっておりました。

しかし、.NET Frameworkでは、共通言語ランタイム(Common Language Runtime)というプログラムの実行環境とClass libraryを用意することにより、すべての形態のappを同じ.NET Frameworkという環境で開発及び実行できるようになりました。

.NET (Core)

.NET 及び .NET Coreは同じシリーズとなります。.NET Core 1.0 ~ 3.0 までは.NET Core、一方、version5以降はCoreをつけずに.NETと表記するようになりました。理由は、.NETの主要な実装であることを強調するため、らしいです。

.NETの特徴はLinux及びMacでも開発・実行できるということです。もちろん、.NET Frameworkと同様に共通言語ランタイム(CLR)とクラスライブラリ(class library)を用意しております。そのため、.NETでは、Windows, Linux, Macの3つのOSそれぞれで、Webアプリ、クライアントアプリ、モバイルアプリを開発することができます。

共通言語ランタイム(Common Language Runtime)

共通言語ランタイム (Common Language Runtime : CLR)は、Microsoftが実装した.NET Frameworkのアプリケーションの実行環境です。一般的なアプリケーションはWindows上で直接実行されますが、.NET FrameworkのアプリケーションはWindows上で動作するCLRの上で実行されます。CLRを利用することの利点は、主に3つあります。

様々なプログラミング言語の使用が可能

CLRをターゲットにしている様々なプログラミング言語を同時に使うことができます。例えば、Visual Basicで書かれたライブラリをC#で利用するといったことが簡単に実現できます。

CLRが動作するコンピューターで実行可能

CLR上で動作するため、サーバー上にCLRさえ入っていれば、OSを問わず、動作します。そのため、.NETの特徴であるLinuxやMac上での動作が可能となります。

セキュリティの向上

CLRはJITコンパイル(Just In Time Compile)の際に、「コードの検証」と呼ばれる処理によって、実行しようとしているプログラムが安全であることを確認し、安全とみなしたコードしか実行しません。これによってプログラムが不適切なメモリアクセスをしないことが保証されます。

.NET Class Library

.NETには、.NETを用いて開発するアプリケーションのために、.NET Class Library (Framework Class Library)を備えています。.NE Class Libraryには、より効率的に開発を行えるように、Classやinterface、delegate等が含まれております。例えば、IntやStringといったデータの型の定義は.NET Class Libraryに含まれます。

.NET上で開発するアプリケーションは、.NET Class Libraryを用いることによって、より効率的に開発することができます。

.NET上で開発可能なアプリ

.NET Frameworkの説明で、「すべての形態のアプリを同じ.NET Frameworkという環境で開発及び実行できるようになりました」としましたが、.NET環境では、以下のアプリ開発するためのbase libraryを用意しております。

そして、先ほど示したように、これらのアプリ(base library)では、.NET class libraryを使用することができます。

まとめ

  • .NETとは、Microsoftによって開発された、OS上でアプリケーションを動作させるための環境であり、共通言語ランタイムと.NET class Libraryを備えています。
  • 共通言語ランタイムにより、複数のプログラミング言語への対応、複数のOSでの動作、そして、高いセキュリティを実現します。
  • .NET class Libraryにより、アプリケーションの種類に問わず、基本的な機能を提供します。

おまけ Visual Studioで.NET 及び ASP.NET のバージョンを調べる方法

.NET

プロジェクト名(赤)で右クリック → プロパティ

ターゲットフレームワークから、バージョンを確認。

stack overflow “How to find the .NET framework version of a Visual Studio project?”

ASP.NET

依存関係をクリック → フレームワーク → Microsoft.AspNetCore.App

アセンブリバージョンから確認。

OpenAI. (2023). ChatGPT (Feb 13 version) [Large language model]. https://chat.openai.com

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

CAPTCHA


目次