「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>.NETのクロスプラットフォーム対応]] * 目次 [#y0623161] #contents *概要 [#ie8e5050] *文脈上の意味 [#he977648] **仕様としての .NET Standard [#u42e76a1] ***概要 [#sa56a2ad] -CLI の実装系が持つ べき API のセットを定義 -仕様なので実装系はその API を実装しない、または実装できないことがある。 ***参考 [#z4b91031] -Microsoft Docs --.NET Standard~ https://docs.microsoft.com/en-us/dotnet/articles/standard/library -dotnet/standard --standard/versions.md at master https://github.com/dotnet/standard/blob/master/docs/versions.md ---https://github.com/dotnet/standard/blob/master/docs/versions/netstandard1.0.md~ https://github.com/dotnet/standard/blob/master/docs/versions/netstandard1.0_ref.md ---https://github.com/dotnet/standard/blob/master/docs/versions/netstandard1.1.md~ https://github.com/dotnet/standard/blob/master/docs/versions/netstandard1.1_ref.md ---https://github.com/dotnet/standard/blob/master/docs/versions/netstandard1.2.md~ https://github.com/dotnet/standard/blob/master/docs/versions/netstandard1.2_ref.md ---https://github.com/dotnet/standard/blob/master/docs/versions/netstandard1.3.md~ https://github.com/dotnet/standard/blob/master/docs/versions/netstandard1.3_ref.md ---https://github.com/dotnet/standard/blob/master/docs/versions/netstandard1.4.md~ https://github.com/dotnet/standard/blob/master/docs/versions/netstandard1.4_ref.md ---https://github.com/dotnet/standard/blob/master/docs/versions/netstandard1.5.md~ https://github.com/dotnet/standard/blob/master/docs/versions/netstandard1.5_ref.md ---https://github.com/dotnet/standard/blob/master/docs/versions/netstandard1.6.md~ https://github.com/dotnet/standard/blob/master/docs/versions/netstandard1.6_ref.md ---https://github.com/dotnet/standard/blob/master/docs/versions/netstandard2.0.md~ https://github.com/dotnet/standard/blob/master/docs/versions/netstandard2.0_ref.md **Target Platform Moniker (TPM) としての .NET Standard [#ka7d0a1b] ***Target Platform Moniker (TPM)とは、 [#h6054b3d] -NuGet での対象プラットフォームを表す識別子 -PCL(のプロファイル)の後継 ***TPMで、.NET Standardのバージョンを指定した場合 [#t0b263b4] 当該.NET Standardのバージョンで -定義される標準ライブラリのみを使用して動作する。 -サポートされるプラットフォーム用のアプリケーションから使用できる。 **NuGet パッケージとしての .NET Standard [#i0164a78] -NuGet パッケージとしての .NET Standardパッケージ([[NetStandard.Library>https://www.nuget.org/packages/NETStandard.Library/]]) -[TypeForwardedTo]による実行時の型転送用ファサードアセンブリ *バージョン [#e7839104] **.NET Standard 1.x [#yb8b14a6] TPM = netstandard1.x の小さなバージョンの方が多くの環境で動作する模様。 **.NET Standard 2.0 [#p7ead542] -しかし、netstandard2.0以降では、~ .NET 4.6.0 (以前) や、Windows Phone 8、Windows 8.x(ストアアプリ)を~ サポートする必要がなければ、netstandard2.0の方が多くの環境で動作する模様。 -.NET Standard 2.0 のリリースは「Q3 2017」とあるので、~ 今年の第三四半期 (2017/7~9) には出るようです。~ https://github.com/dotnet/core/blob/master/roadmap.md#ship-dates ***仕様としての .NET Standard 2.0 [#x2425538] .NET Framework のエコシステムは既に想定以上に広がっていたため、 -Xamarin もベースとしている Mono が .NET Framework 互換 .NET Core の普及に伴い、自然と新しい API に移行とはならなかった。 -.NET Standard の範囲を広げ、従来の .NET Framework の API をより多くサポート。 -既存の .NET Framework 向けのライブラリを .NET Core(など)でそのまま動作できるようにする。 ***TPM としての .NET Standard 2.0 [#idbed5d3] -netstandard2.0 になる -追加されるライブラリ群 --BinaryFormatterと、それに伴うインターフェイスやカスタム属性。 --ADO.NET(DataSet, Data Provider, e.g.:DbConnection.GetSchema)のサポート。 --以下のライブラリを追加 ---mscorlib ---System ---System.Core ---System.Numerics ---System.Data ---System.IO.Compression ---System.IO.Compression.FileSystem ---System.Xml ---System.Xml.Linq ---System.Web ---System.Net.Http ---System.Runtime.Serialization ---System.Drawing ---System.ComponentModel.Composition ***NuGet パッケージとしての .NET Standard [#k569f39a] netstandard.dll という実行時の型転送用ファサードアセンブリになる予定 *参考 [#h5cc1e09] -主に技術日記: .NET Standard のおさらい~ http://yfakariya.blogspot.jp/2016/12/net-standard.html -Net fringejp2016~ https://www.slideshare.net/yusukefujiwara731/net-fringejp2016 ---- Tags: [[:.NET開発]], [[:.NET Core]], [[:.NET Standard]]