この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 28789|答える: 0

[出典] .NET Coreと.NET Standardの違い

[リンクをコピー]
掲載地 2019/11/12 10:25:55 | | | |
.NET Standardはフォーマルセットです.NET API仕様すべての.NET実装で利用可能と期待されています。 .NET Standard導入の動機は、.NETエコシステムの整合性を向上させることでした。 ECMA 335は.NET実装の統一性を確立し続けていますが、.NETライブラリ実装用の.NETベースクラスライブラリ(BCL)に関する同様の仕様はありません。

.NET Standardは以下の主要なシナリオを可能にします:

  • 実装したいすべての.NET実装に対して、統一されたワークロードに依存しないBCL APIセットを定義してください。
  • 開発者が同じAPIセットを通じて様々な.NET実装で使用できるポータブルライブラリを構築できるようにします。
  • .NET API側面(OS APIのみ)における共有ソースコードの条件付きコンパイルを削減または廃止します。


さまざまな.NET実装は特定のバージョンの.NET Standardを対象としています。 各.NET実装は、サポートする最高の.NET Standardバージョンを発表します。これは、以前のバージョンもサポートしていることを意味します。 例えば、.NET Framework 4.6は.NET Standard 1.3を実装しています。 つまり、.NET Standard バージョン1.0から1.3で定義されたすべてのAPIを公開します。 同様に、.NET Framework 4.6.1は.NET Standard 1.4を実装し、.NET Core 1.0は.NET Standard 1.6を実装しています。




.NET Standardと.NET実装の関係は、HTML仕様とブラウザの関係と同じです。 後者は前者の実現です。

したがって、.NET Framework、Xamarin、.NET Core、それぞれの管理型フレームワークは を実装しています。 NET Standard。 コンピュータ業界が新しいハードウェアやオペレーティングシステムを次々と導入し続ける中で、将来的に新しいものも登場するでしょう。 .NETホスティングフレームワーク。 この標準は、アプリケーション開発者に一貫したAPIセットに頼れることを示しています。

一人ずつ。 .NETのバージョンは.NET Standardのバージョンに対応します。

APIは一貫しており、異なる管理された実装への移植やツールの提供がより簡単になります。

.NET Standardは、すべての .を理由に、別のNuGetパッケージとして定義されています。 .NET実装はサポートされなければなりません


.NET Standard と Portable Libraries の違い

ポータブルライブラリも同じことをしないのですか?

ポータブルクラスは複数のプラットフォームでサポートされている共通APIを使用します。 その結果、サポートされるプラットフォームが多いほど利用可能なAPIは少なく、特定のプラットフォームの組み合わせでは、どのAPIがサポートされているか正確に把握するのが難しくなります。 新しいプラットフォームでは、既存のPCLを再コンパイルする必要があります。 PCLはまた、Microsoftが各プラットフォーム向けに新しいフレームワーク実装フォークを作成することを要求しています。
その理由で。 NET StandardはAPIを識別し、実装を識別するため、アプリケーションの再コンパイルは不要です。 新たにリリースされた。 .NETの実装は必要なライブラリを実装します。 アプリケーションは新しいハードウェアプラットフォームやオペレーティングシステム上で動作するために再コンパイルする必要はありません。 理論的には、APIを呼び出した際にNotSupportedException例外がキャッチされる可能性もありますが、それは稀なはずです。


.NET実装サポート

以下の表は、各.NET Standardリリースをサポートする最小プラットフォームバージョンを示しています。 これは、上記のプラットフォームの後のバージョンも対応する.NET Standard版をサポートすることを意味します。 例えば、.NET Core 2.2は.NET Standard 2.0以前をサポートしています。








先の:Linux シェルスクリプトガイド(第3版)
次に:ASP.NET Core 3.0 Nugetの復元失敗
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com