「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
- 以前は、PCLのレベルのクロスプラットフォーム対応しか無かったが、
.NET Coreの登場により、状況は大きく変わった。
- マイクロソフトは、あらゆる環境に対応する開発ツール群を提供しようとしている。
- Any Developer (どんな開発者にも)
- Any App (どんなアプリケーションにも)
- Any Platform (どんなプラットフォームにも)
この中の、Any Platform に対応するのが、.NET Core。
俯瞰図 †
とりあえず雰囲気を掴むための最新の図。
参考 †
用語 †
色々用語が出てくるので纏める。
CLI †
- 共通言語基盤(CLI : Common Language Infrastructure)
- .NET Frameworkの基幹を構成する仕様(ECMA-335 および ISO/IEC 23271)
- CLIは、言語やプラットフォームに依存しない環境を定義しており、
様々な言語で書いたソースコードを他のプラットフォームでも使える。
概念 †
- 共通型システム
- CTS : Common Type System
- プログラミング言語間で共通して用いられる型の集合
- メタデータ
- プログラムの構造に関する情報。
- プログラミング言語上やツールなどから参照できる。
- 共通言語仕様
- CLS: Common Language Specification
- 相互運用性のためのプログラミング言語に対する規定
- 仮想実行システム
- VES: Virtual Execution Evnironment
- CLIに適合したプログラムの読込と実行。
- メタデータを活用して動的に機械語を生成する。
参考 †
.NET Framework †
皆さんご存知の.NET Framework。
BCL †
- BCL : Base Class Library(基本クラスライブラリ)
- 全てのCLI言語から利用可能な共通言語基盤 (CLI) 標準ライブラリ
FCL †
- FCL : Framework Class Library
- .NET FrameworkのBCLの意味で使用される、BCLのスーパーセット
- Common Language Infrastructureで定義されている標準ライブラリの.NET Framework実装
PCL †
- PCL : Portable Class Library
- PCLの後継は.NET Standard。
- Microsoft プラットフォーム間でコードを共有できる
クロスプラットフォーム アプリ・ライブラリを開発可能。
TFM †
Mono †
スマホネイティブ・アプリケーション : Xamarin
.NET 実装の動作の統一性を確立、
クロスプラットフォーム対応を推進する。
移行 †
アナライザー †
Roslynベースのアナライザー
.NET API アナライザー †
- C# API の互換性リスクの可能性および非推奨の API の呼び出しを検出する
.NET Portability Analyzer †
- 以下のケースで役立つ
- ライブラリでマルチプラットフォームをサポートしたい場合や、
- アプリケーションで他のTFMとの互換性を確保する作業を知りたい場合は、
事例 †
移行性の評価 †
移行元 †
https://github.com/OpenTouryoProject/OpenTouryo/tree/02-20
ライブラリ †
https://github.com/OpenTouryoProject/OpenTouryo/tree/02-20/root/programs/C%23/Frameworks/Infrastructure
サンプル †
https://github.com/OpenTouryoProject/OpenTouryo/tree/02-20/root/programs/C%23/Samples
移行先 †
https://github.com/OpenTouryoProject/OpenTouryo/tree/SupportNetStandard2%26NetCore2
ライブラリ †
https://github.com/OpenTouryoProject/OpenTouryo/tree/SupportNetStandard2%26NetCore2/root/programs/CS/Frameworks/Infrastructure
サンプル †
https://github.com/OpenTouryoProject/OpenTouryo/tree/SupportNetStandard2%26NetCore2/root/programs/CS/Samples4NetCore
参考 †
.NET API Browser †
https://docs.microsoft.com/en-us/dotnet/api/index
.NET Standard †
https://docs.microsoft.com/en-us/dotnet/api/index?view=netstandard-2.0
.NET Framework †
https://docs.microsoft.com/en-us/dotnet/api/index?view=netframework-4.5
.NET Core †
https://docs.microsoft.com/en-us/dotnet/api/index?view=netcore-2.0
Mono (Xamarin) †
Azure SDK for .NET †
https://docs.microsoft.com/en-us/dotnet/api/index?view=azure-dotnet
Tags: :.NET開発, :.NET Core, :.NET Standard