現在、.NET Platform Standardについて学びたいと思っています。「さまざまなプラットフォーム」の考え方についてかなり混乱しています。.NET Platform Standardのプラットフォームは何ですか?
私は明確な点を明らかにするつもりです。私が現在.NET Frameworkについて知っていることは、.NETがCLR、BCL、およびCLRを起動し、仮想マシンと基礎となるOSの間のインターフェイスを提供するためのサポートソフトウェアで構成されていることです。
.NET Frameworkを使用してコードを作成すると、BCLから使用しているタイプにフレームワークが付属しているため、特定のバージョンに依存するため、実際にはフレームワークのいくつかのバージョンをターゲットにしています。
.NETコアは、私が理解したところとはかなり異なっています。それはすべてのように一緒に詰め込まれていません。私たちには、ILを実行する軽量VMであるCoreCLR、NuGetパッケージとして適切に編成されたライブラリであるCoreFX、CoreCLRを起動したり、CoreCLRとのインタフェースなど、サポートするものを提供していたDNX/DNVM/OS。
とにかく、Windows 7、Windows 8またはWindows 10にフレームワークをインストールしても、フレームに対してをコードします。 - 例えば
プラットフォーム:
は今、.NETプラットフォーム標準仕様上、私たちは以下の定義を参照してください4.6 - .NET Frameworkの4.5、.NET Frameworkの4.6、Windows Phoneの8.1などMonoTouchで、UWP、
はまた、我々は
- の.NET Framework 2.0が含まれてプラットフォームのリスト、後に見ます
- のWindows 8
- のWindows Phone 8.1
- のSilverlight 4、5
- の.NET Framework 4.5.1のDNX - 4.6
- DNX on .NETコア5.0
これで完全に私を混乱させます。私はいつも考えています:.NET Frameworkに対してコード化しています。フレームワークは何であれ、フレームワークです。
しかし、ここでは、.NETフレームワークを含むプラットフォームがあります。多くのプラットフォームのうちの1つです。たとえばWindows 8がありますが、Windows 8で.NETを実行しているのは他のOSで.NETを実行しているのと同じことではありません。なぜそれは.NET Framework 2.0 - 4.6プラットフォームとは別ですか?
特定のプラットフォームとしてDNXもあります。これは私には不思議に思う:プラットフォームは、仮想マシンを起動し、OSにインターフェイスを提供することに関連する「サポートするもの」ですか?または、プラットフォームに仮想マシンが含まれていますか?
とにかく、わかりましたが、私はかなり混乱しています。実際にこれらのプラットフォームは何ですか、そしてこれが.NET Frameworkの現在の理解とどのように関係していますか?また、なぜ.NET Framework 2.0 - 4.6が個別に記述されているのですか? すべてではありませんここに記載されている.NET Frameworkの一部のバージョン.Net Core?
の各バージョンで利用可能な名前空間のリストについては、こちらを参照してくださいなし*「仮想マシン」*は、.NETではありません。 – IInspectable
@IInspectable http://blogs.msdn.com/b/brada/archive/2005/01/12/351958.aspx "結論は、CLRとJVMが同じクラスにあるということです。ソフトウェア「仮想マシン」「実行エンジン」は、あなたの視点によって異なります。 – Rob
私はいつもCLRを一種の仮想マシンと考えました。アプリケーションが動作するサンドボックスとして機能するソフトウェア。このVMにILのバイトコードを渡し、付属のJITコンパイラがネイティブコードを作成し、その特別なサンドボックスで実行します。私はCLRを詳細に研究したことはありませんが、GitHubのドキュメントでは、これを「さまざまなプログラミング言語をサポートするように設計された完全なハイレベル仮想マシン」と記述しています。これは私の大雑把な理解が合理的であったと信じさせました – user1620696