Microsoft .NET Frameworkとは何ですか。また、PCにインストールされるのはなぜですか。

Windowsを非常に長い間使用している場合は、おそらくMicrosoftの.NETについて聞いたことがあるでしょう。おそらく、アプリケーションからインストールを求められたか、インストールされているプログラムのリストに気づいたからです。あなたが開発者でない限り、それを利用するために多くの知識は必要ありません。あなたはそれが機能するために必要です。しかし、私たちは物事を知るのが好きなので、.NETとは何か、そしてなぜ多くのアプリケーションがそれを必要とするのかを探求するときに参加してください。

.NET Framework、説明

「.NETFramework」という名前自体は少し誤解されています。フレームワーク(用語のプログラミングでは)本当にインターフェース(API)をプログラミングアプリケーションの収集と開発者は、彼らが最初からコードを記述する必要はありませんのでことを、開発するアプリケーションを呼び出すことができ、コードの共有ライブラリです。 .NET Frameworkでは、共有コードのそのライブラリはFramework Class Library(FCL)と呼ばれます。共有ライブラリ内のコードのビットは、あらゆる種類の異なる機能を実行できます。たとえば、開発者がネットワーク上の別のIPアドレスにpingを実行できるようにするためにアプリケーションが必要だったとします。そのコードを自分で記述してから、pingの結果の意味を解釈する必要のあるすべての小さな部分を記述する代わりに、その機能を実行するライブラリのコードを使用できます。

そして、それはほんの一例です。.NET Frameworkには、何万もの共有コードが含まれています。この共有コードにより、開発者は、アプリケーションがいくつかの共通機能を実行する必要があるたびに車輪の再発明を行う必要がないため、開発者の生活がはるかに楽になります。代わりに、アプリケーションに固有のコードと、それをすべて結び付けるユーザーインターフェイスに集中できます。このような共有コードのフレームワークを使用すると、アプリケーション間にいくつかの標準を提供するのにも役立ちます。他の開発者は、プログラムが何をしているのかをより簡単に理解でき、アプリケーションのユーザーは、異なるアプリケーションで同じように機能する[開く]ダイアログボックスや[名前を付けて保存]ダイアログボックスなどを頼りにすることができます。

では、なぜその名前が誤った名前なのですか?

.NETは、共有コードのフレームワークとして機能するだけでなく、ランタイム環境も提供するためです。アプリケーション用。ランタイム環境は、アプリケーションが実行される仮想マシンのようなサンドボックスを提供します。多くの開発プラットフォームは同じ種類のものを提供します。たとえば、JavaとRuby on Railsは、どちらも独自のランタイム環境を提供します。 .NETの世界では、ランタイム環境は共通言語ランタイム(CLR)と呼ばれます。ユーザーがアプリケーションを実行すると、そのアプリケーションのコードは実際には実行時にマシンコードにコンパイルされてから実行されます。 CLRは、メモリとプロセッサスレッドの管理、プログラム例外の処理、セキュリティの管理など、その他のサービスも提供します。ランタイム環境は、実際には、アプリケーションが実行されている実際のハードウェアからアプリケーションを抽象化する方法です。

アプリケーションをランタイム環境内で実行することには、いくつかの利点があります。最大のものは携帯性です。開発者は、C#、C ++、F#、Visual Basic、その他数十のお気に入りを含む、多くのサポート言語のいずれかを使用してコードを記述できます。そのコードは、.NETがサポートされている任意のハードウェアで実行できます。プラットフォームは、表面上はWindowsベースのPC以外のハードウェアをサポートするように設計されていますが、その独自の性質により、主にWindowsアプリケーションに使用されていました。

Microsoftは、これを解決するために.NETの他の実装を作成しました。 Monoは、.NETアプリケーションと他のプラットフォーム(特にLinux)との間の互換性を提供するように設計された無料のオープンソースプロジェクトです。 .NET Coreの実装も、軽量のモジュラーアプリを複数のプラットフォームに提供するように設計された無料のオープンソースフレームワークです。 .NET Coreは、Mac OS X、Linux、およびWindowsにサポートを提供することを目的としています(ユニバーサルWindowsプラットフォームアプリのサポートを含む)。

ご想像のとおり、.NETのようなフレームワークは、開発面で大きな恩恵をもたらす可能性があります。これにより、開発者は好みの言語を使用してコードを記述でき、フレームワークがサポートされている場所ならどこでもコードを実行できることが保証されます。ユーザーは、一貫性のあるアプリケーションと、開発者がフレームワークにアクセスできない場合に多くのアプリがまったく開発されない可能性があるという事実から恩恵を受けます。

.NETはどのようにシステムに組み込まれますか?

.NET Frameworkにはやや曲がりくねった歴史があり、何年にもわたって多くのバージョンがあります。通常、利用可能な.NETの最新バージョンは、Windowsの各バージョンのリリースに含まれています。これらのバージョンは下位互換性があることを目的としていましたが(バージョン3がインストールされていれば、バージョン2用に作成されたアプリケーションを実行できました)、それはあまりうまくいきませんでした。すべてのアプリケーションが新しいバージョンで動作するわけではありません。特に、Windows XPおよびVistaを実行しているシステムでは、PCに複数の異なるバージョンの.NETがインストールされていることがよくあります。

.NETFrameworkの特定のバージョンをインストールする方法は基本的に3つあります。

  • お使いのバージョンのWindowsには、デフォルトのインストールに含まれている場合があります。
  • 特定のバージョンを必要とするアプリケーションは、それ自体のインストール中にそれをインストールする場合があります。
  • 一部のアプリケーションでは、別のダウンロードサイトに移動して、特定のバージョンの.NETFrameworkを取得してインストールすることもあります。

幸いなことに、最新バージョンのWindowsでは状況がスムーズになっています。Windows Vistaの時代のある時期に、2つの重要なことが起こりました。まず、.NET Framework3.5がリリースされました。そのバージョンは、バージョン2および3のコンポーネントを含むように作り直されました。バージョン3.5をインストールしたばかりの場合、以前のバージョンを必要としたアプリが機能するようになりました。次に、.NETFrameworkへのアップグレードがWindowsUpdateを通じてようやく提供され始めました。

これら2つのことにより、開発者は適切なコンポーネントが既にインストールされているユーザーにほぼ依存できるようになり、ユーザーに追加のインストールを実行するように依頼する必要がなくなりました。

関連:Windows 10の「オプション機能」の機能と、それらをオンまたはオフにする方法

Windows 8が登場したとき、完全に再設計された新しい.NETFrameworkバージョン4が付属していました。バージョン4(およびそれ以降)は、古いバージョンとの下位互換性を備えていません。同じPC上でバージョン3.5と一緒に実行できるように設計されています。バージョン3.5以下で作成されたアプリにはバージョン3.5がインストールされている必要があり、バージョン4以降で作成されたアプリにはバージョン4がインストールされている必要があります。幸いなことに、ユーザーとしてのあなたは、これらのインストールについてもう心配する必要はありません。Windowsはほとんどすべてを処理します。

Windows8およびWindows10には、バージョン3.5および4が含まれています(現在のバージョンは4.6.1です)。これらは初回必要に応じてインストールされるため、これらのバージョンのいずれかを必要とするアプリを初めてインストールすると、Windowsによって自動的に追加されます。必要に応じて、Windowsのオプション機能にアクセスして、事前にWindowsに実際に追加することができます。バージョン3.5とバージョン4.6を別々に追加するためのオプションがあります。

とはいえ、アプリケーションを開発しているのでない限り、自分でWindowsインストールに追加する本当の理由はありません。利用可能なバージョンのいずれかを必要とするアプリを初めてインストールすると、Windowsがそのアプリをバックグラウンドで追加します。

.NETで問題が発生した場合はどうすればよいですか?

最新バージョンのWindowsでは、.NET自体に問題が発生することはないでしょう。必要な両方のバージョンがWindowsに含まれており、必要に応じてインストールされるため、アプリのインストールは非常にシームレスです。古いバージョンのWindows(XPやVistaなど)では、さまざまなバージョンの.NETをアンインストールして再インストールしなければならないことがよくありました。また、フープを飛び越えて、それらを必要とするアプリに適切なバージョンの.NETがインストールされていることを確認する必要がありました。今、Windowsはあなたのためにそれらのものを処理します。

とはいえ、.NET Frameworkに関連していると思われる問題が発生した場合は、いくつかの手順を実行できます。

関連:Windowsで破損したシステムファイルをスキャン(および修正)する方法

まず、Windowsに最新の更新がすべて含まれていることを確認する必要があります。.NET Frameworkの更新が利用可能な場合は、問題が解決する可能性があります。コンピューターから.NETFrameworkのバージョンを削除してから、再度追加することもできます。Windowsの機能を追加する方法については、投稿をご覧ください。これらの手順のいずれも機能しない場合は、Windowsで破損したシステムファイルをスキャンしてみてください。それは長くはかからず、破損したりなくなったりしたシステムファイルを復元できます。それは常に一撃の価値があります。

それでも問題が解決しない場合は、Microsoftの.NETFramework修復ツールをダウンロードして実行してみてください。このツールは、現在のすべてのバージョンの.NETFrameworkをサポートしています。.NETのセットアップまたは更新に関する一般的な問題のトラブルシューティングに役立ち、発生している問題を自動的に修復できる場合があります。

そして、あなたはそれを持っています。 .NET Frameworkについて知りたいと思っていた以上のことかもしれませんが、次回のパーティーで、すべての友達に感動を与えることができます。