Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
shozon
PPTX, PDF
3,778 views
.NET Core とマルチプラットフォーム
.NET Fringe Japan 2016 の発表資料です。
Technology
◦
Read more
6
Save
Share
Embed
Embed presentation
Download
Downloaded 16 times
1
/ 30
2
/ 30
3
/ 30
4
/ 30
5
/ 30
6
/ 30
7
/ 30
8
/ 30
9
/ 30
10
/ 30
11
/ 30
12
/ 30
13
/ 30
14
/ 30
15
/ 30
16
/ 30
17
/ 30
18
/ 30
19
/ 30
20
/ 30
21
/ 30
22
/ 30
23
/ 30
24
/ 30
25
/ 30
26
/ 30
27
/ 30
28
/ 30
29
/ 30
30
/ 30
More Related Content
PPTX
Dot netcore multiplatform 2
by
shozon
PPTX
Net fringejp2016
by
Yusuke Fujiwara
PPTX
dotnetconfJP2017_netcore2
by
Yusuke Fujiwara
PPTX
C# design note sep 2014
by
信之 岩永
PPTX
今から始める、Windows 10&新.NETへの移行戦略
by
信之 岩永
PPTX
Modern .NET
by
信之 岩永
PDF
.NET Core 1.0
by
Akira Inoue
PDF
.NET 5 勉強会 ~.NET Framework から .NET へ~
by
Fujio Kojima
Dot netcore multiplatform 2
by
shozon
Net fringejp2016
by
Yusuke Fujiwara
dotnetconfJP2017_netcore2
by
Yusuke Fujiwara
C# design note sep 2014
by
信之 岩永
今から始める、Windows 10&新.NETへの移行戦略
by
信之 岩永
Modern .NET
by
信之 岩永
.NET Core 1.0
by
Akira Inoue
.NET 5 勉強会 ~.NET Framework から .NET へ~
by
Fujio Kojima
What's hot
PDF
.NET Core 5 ~ Windows, Linux, OS X そして Docker まで ~
by
Akira Inoue
PPTX
C# 3.0 以降
by
Fujio Kojima
PDF
Firefoxの開発プロセス
by
Makoto Kato
PDF
OpenJDK コミュニティに参加してみよう #jjug
by
Yuji Kubota
PDF
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
by
日本マイクロソフト株式会社
PPTX
.NET Compiler Platform
by
信之 岩永
PDF
Open Liberty: オープンソースになったWebSphere Liberty
by
Takakiyo Tanaka
PPTX
(ゲームじゃない方の)switchで遊びたい話
by
Masanori Masui
PPTX
OpenShift from Easy way to Hard ? Way
by
ロフト くん
PDF
DEV-002_.NET Core/ASP.NET Core が実現するクロスプラットフォーム .NET の今と未来
by
decode2016
PPTX
C# 8.0 非同期ストリーム
by
信之 岩永
PDF
jjugccc2018 app review postmortem
by
tamtam180
PDF
Recap: PowerShell Core
by
Kazuki Takai
PDF
Windows PowerShell によるWindows Server 管理の自動化 v4.0 2014.03.13 更新版
by
junichi anno
PDF
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
by
tamtam180
PDF
phpspecで始めるBDD
by
Yuuki Takezawa
PDF
はてなにおける継続的デプロイメントの現状と Docker の導入
by
Yu Nobuoka
PDF
Mozillaのビルドインフラ
by
Makoto Kato
PPTX
microPCFを使ってみよう
by
Hiroaki_UKAJI
PPTX
PowerShell の基本操作とリモーティング&v3のご紹介 junichia
by
junichi anno
.NET Core 5 ~ Windows, Linux, OS X そして Docker まで ~
by
Akira Inoue
C# 3.0 以降
by
Fujio Kojima
Firefoxの開発プロセス
by
Makoto Kato
OpenJDK コミュニティに参加してみよう #jjug
by
Yuji Kubota
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
by
日本マイクロソフト株式会社
.NET Compiler Platform
by
信之 岩永
Open Liberty: オープンソースになったWebSphere Liberty
by
Takakiyo Tanaka
(ゲームじゃない方の)switchで遊びたい話
by
Masanori Masui
OpenShift from Easy way to Hard ? Way
by
ロフト くん
DEV-002_.NET Core/ASP.NET Core が実現するクロスプラットフォーム .NET の今と未来
by
decode2016
C# 8.0 非同期ストリーム
by
信之 岩永
jjugccc2018 app review postmortem
by
tamtam180
Recap: PowerShell Core
by
Kazuki Takai
Windows PowerShell によるWindows Server 管理の自動化 v4.0 2014.03.13 更新版
by
junichi anno
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
by
tamtam180
phpspecで始めるBDD
by
Yuuki Takezawa
はてなにおける継続的デプロイメントの現状と Docker の導入
by
Yu Nobuoka
Mozillaのビルドインフラ
by
Makoto Kato
microPCFを使ってみよう
by
Hiroaki_UKAJI
PowerShell の基本操作とリモーティング&v3のご紹介 junichia
by
junichi anno
Viewers also liked
PDF
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
by
Yoshifumi Kawai
PDF
Beachhead implements new opcode on CLR JIT
by
Kouji Matsui
PDF
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
by
Yoshifumi Kawai
PPTX
RuntimeUnitTestToolkit for Unity
by
Yoshifumi Kawai
PDF
NextGen Server/Client Architecture - gRPC + Unity + C#
by
Yoshifumi Kawai
PDF
マイクロサービスバックエンドAPIのためのRESTとgRPC
by
disc99_
PPTX
Azure Storage Partition Internals
by
Takekazu Omi
PDF
.NET Coreとツール類の今
by
Yuki Igarashi
PDF
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
by
Yoshifumi Kawai
PPTX
Memcachedの仕組みと設定
by
Tatsuya Akashi
PDF
Functional go
by
Geison Goes
PDF
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
by
Yoshifumi Kawai
PDF
MySQLの文字コード事情
by
Masahiro Tomita
PDF
Goをカンストさせる話
by
Moriyoshi Koizumi
PDF
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
by
Yahoo!デベロッパーネットワーク
PPTX
HoloLens x Graphics 入門
by
hecomi
PPTX
Plen2で始めるロボット制御の基本
by
Masuda Tomoaki
PDF
Androidとの同時開発だけどモデルをC++で書けば問題ないよねっ
by
Koji Hasegawa
PPTX
2015 0227 OSC-Spring Tokyo NETMF
by
Atomu Hidaka
PDF
C++ と Visual Studio による Android 開発
by
友太 渡辺
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
by
Yoshifumi Kawai
Beachhead implements new opcode on CLR JIT
by
Kouji Matsui
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
by
Yoshifumi Kawai
RuntimeUnitTestToolkit for Unity
by
Yoshifumi Kawai
NextGen Server/Client Architecture - gRPC + Unity + C#
by
Yoshifumi Kawai
マイクロサービスバックエンドAPIのためのRESTとgRPC
by
disc99_
Azure Storage Partition Internals
by
Takekazu Omi
.NET Coreとツール類の今
by
Yuki Igarashi
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
by
Yoshifumi Kawai
Memcachedの仕組みと設定
by
Tatsuya Akashi
Functional go
by
Geison Goes
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
by
Yoshifumi Kawai
MySQLの文字コード事情
by
Masahiro Tomita
Goをカンストさせる話
by
Moriyoshi Koizumi
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
by
Yahoo!デベロッパーネットワーク
HoloLens x Graphics 入門
by
hecomi
Plen2で始めるロボット制御の基本
by
Masuda Tomoaki
Androidとの同時開発だけどモデルをC++で書けば問題ないよねっ
by
Koji Hasegawa
2015 0227 OSC-Spring Tokyo NETMF
by
Atomu Hidaka
C++ と Visual Studio による Android 開発
by
友太 渡辺
Similar to .NET Core とマルチプラットフォーム
PPTX
CLI と BCL
by
shozon
PDF
NET Standard と Xamarin
by
Yoshito Tabuchi
PPTX
.NETクロスプラットフォーム
by
Yasushi Kato
PPTX
今から始める、Windows 10&新.NETへの移行戦略
by
信之 岩永
PDF
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
by
Akira Inoue
PDF
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
by
Akira Inoue
PDF
[Japan Tech summit 2017] APP 001
by
Microsoft Tech Summit 2017
PDF
Introduction to VSCode
by
Yuki Igarashi
PDF
Cloud から IoT まで、なんでもおまかせ ~ .NET 5 正式リリース!
by
Akira Inoue
PPTX
広がる .Net
by
信之 岩永
PDF
Linux & Mac OS でも動く! ~ クロスプラットフォーム対応に見る ASP.NET Core 5 の可能性 ~
by
Akira Inoue
PDF
Linux & Mac OS でも動く! ~ オープンソース & クロスプラットフォーム .NET の歩き方 ~
by
Akira Inoue
PDF
【BS2】.NET 6 最新アップデート
by
日本マイクロソフト株式会社
PPTX
ASP.NET vNextの全貌
by
A AOKI
PDF
Dotnetcore30forwindesktop
by
ru pic
PDF
The Next Generation for C# Developers
by
Takayoshi Tanaka
PDF
【BS5】帰ってきたハードコアデバッギング ~.NET6 を添えて~
by
日本マイクロソフト株式会社
PPTX
2015 1025 OSC-Fall Tokyo NETMF
by
Atomu Hidaka
PPTX
OSC Tokyo/Spring NETMF 170311
by
Atomu Hidaka
PPTX
.NETの最近
by
Makoto Nishimura
CLI と BCL
by
shozon
NET Standard と Xamarin
by
Yoshito Tabuchi
.NETクロスプラットフォーム
by
Yasushi Kato
今から始める、Windows 10&新.NETへの移行戦略
by
信之 岩永
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
by
Akira Inoue
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
by
Akira Inoue
[Japan Tech summit 2017] APP 001
by
Microsoft Tech Summit 2017
Introduction to VSCode
by
Yuki Igarashi
Cloud から IoT まで、なんでもおまかせ ~ .NET 5 正式リリース!
by
Akira Inoue
広がる .Net
by
信之 岩永
Linux & Mac OS でも動く! ~ クロスプラットフォーム対応に見る ASP.NET Core 5 の可能性 ~
by
Akira Inoue
Linux & Mac OS でも動く! ~ オープンソース & クロスプラットフォーム .NET の歩き方 ~
by
Akira Inoue
【BS2】.NET 6 最新アップデート
by
日本マイクロソフト株式会社
ASP.NET vNextの全貌
by
A AOKI
Dotnetcore30forwindesktop
by
ru pic
The Next Generation for C# Developers
by
Takayoshi Tanaka
【BS5】帰ってきたハードコアデバッギング ~.NET6 を添えて~
by
日本マイクロソフト株式会社
2015 1025 OSC-Fall Tokyo NETMF
by
Atomu Hidaka
OSC Tokyo/Spring NETMF 170311
by
Atomu Hidaka
.NETの最近
by
Makoto Nishimura
Recently uploaded
PPTX
2025年11月24日情報ネットワーク法学会大井哲也発表「API利用のシステム情報」
by
Tetsuya Oi
PDF
AI開発の最前線を変えるニューラルネットワークプロセッサと、未来社会における応用可能性
by
Data Source
PPTX
ChatGPTのコネクタ開発から学ぶ、外部サービスをつなぐMCPサーバーの仕組み
by
Ryuji Egashira
PDF
論文紹介:HiLoRA: Adaptive Hierarchical LoRA Routing for Training-Free Domain Gene...
by
Toru Tamaki
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):日本ヒューレット・パッカード合同会社 テーマ3「IT運用とデータサイエンティストを強力に支援するH...
by
PC Cluster Consortium
PDF
論文紹介:DiffusionRet: Generative Text-Video Retrieval with Diffusion Model
by
Toru Tamaki
PDF
論文紹介:MotionMatcher: Cinematic Motion Customizationof Text-to-Video Diffusion ...
by
Toru Tamaki
PDF
ニューラルプロセッサによるAI処理の高速化と、未知の可能性を切り拓く未来の人工知能
by
Data Source
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):日本ヒューレット・パッカード合同会社 テーマ1「大規模AIの能力を最大限に活用するHPE Comp...
by
PC Cluster Consortium
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):コアマイクロシステムズ株式会社 テーマ 「AI HPC時代のトータルソリューションプロバイダ」
by
PC Cluster Consortium
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):Pacific Teck Japan テーマ3「『TrinityX』 AI時代のクラスターマネジメ...
by
PC Cluster Consortium
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):Pacific Teck Japan テーマ2「『Slinky』 SlurmとクラウドのKuber...
by
PC Cluster Consortium
PDF
膨大なデータ時代を制する鍵、セグメンテーションAIが切り拓く解析精度と効率の革新
by
Data Source
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):エヌビディア合同会社 テーマ1「NVIDIA 最新発表製品等のご案内」
by
PC Cluster Consortium
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):富士通株式会社 テーマ1「HPC&AI: Accelerating material develo...
by
PC Cluster Consortium
2025年11月24日情報ネットワーク法学会大井哲也発表「API利用のシステム情報」
by
Tetsuya Oi
AI開発の最前線を変えるニューラルネットワークプロセッサと、未来社会における応用可能性
by
Data Source
ChatGPTのコネクタ開発から学ぶ、外部サービスをつなぐMCPサーバーの仕組み
by
Ryuji Egashira
論文紹介:HiLoRA: Adaptive Hierarchical LoRA Routing for Training-Free Domain Gene...
by
Toru Tamaki
PCCC25(設立25年記念PCクラスタシンポジウム):日本ヒューレット・パッカード合同会社 テーマ3「IT運用とデータサイエンティストを強力に支援するH...
by
PC Cluster Consortium
論文紹介:DiffusionRet: Generative Text-Video Retrieval with Diffusion Model
by
Toru Tamaki
論文紹介:MotionMatcher: Cinematic Motion Customizationof Text-to-Video Diffusion ...
by
Toru Tamaki
ニューラルプロセッサによるAI処理の高速化と、未知の可能性を切り拓く未来の人工知能
by
Data Source
PCCC25(設立25年記念PCクラスタシンポジウム):日本ヒューレット・パッカード合同会社 テーマ1「大規模AIの能力を最大限に活用するHPE Comp...
by
PC Cluster Consortium
PCCC25(設立25年記念PCクラスタシンポジウム):コアマイクロシステムズ株式会社 テーマ 「AI HPC時代のトータルソリューションプロバイダ」
by
PC Cluster Consortium
PCCC25(設立25年記念PCクラスタシンポジウム):Pacific Teck Japan テーマ3「『TrinityX』 AI時代のクラスターマネジメ...
by
PC Cluster Consortium
PCCC25(設立25年記念PCクラスタシンポジウム):Pacific Teck Japan テーマ2「『Slinky』 SlurmとクラウドのKuber...
by
PC Cluster Consortium
膨大なデータ時代を制する鍵、セグメンテーションAIが切り拓く解析精度と効率の革新
by
Data Source
PCCC25(設立25年記念PCクラスタシンポジウム):エヌビディア合同会社 テーマ1「NVIDIA 最新発表製品等のご案内」
by
PC Cluster Consortium
PCCC25(設立25年記念PCクラスタシンポジウム):富士通株式会社 テーマ1「HPC&AI: Accelerating material develo...
by
PC Cluster Consortium
.NET Core とマルチプラットフォーム
1.
.NET Core 1.0
と マルチプラットフォーム Deep Dive 荒井 省三
2.
アジェンダ • project.json • Microsoft.NETCoreApp •
NETStandard Libaray • .NET Core と BCL • 新しい PCL とは
3.
.NET Core とは .NET
Framework .NET Core XAMARIN アプリ モデル ベース ライブラリ
4.
.NET Core とは .NET
Framework .NET Core XAMARIN アプリ モデル ベース ライブラリ
5.
コンソール アプリ
6.
Project.json { "version": "1.0.0-*", "buildOptions": { "emitEntryPoint":
true }, "dependencies": { "Microsoft.NETCore.App": { "type": "platform", "version": "1.0.0" } }, "frameworks": { "netcoreapp1.0": { "imports": "dnxcore50" } } }
7.
Project.json • platform • Microsoft.NETCore.App •
frameworks • netcoreapp1.0 "imports": "dnxcore50"
8.
Microsoft.NETCore.App • .NET Core
の依存関係のみを定義したメタ データ パッケージ "Libuv" "Microsoft.CodeAnalysis.CSharp " exclude="Compile" "Microsoft.CodeAnalysis.VisualBasic " exclude="Compile" "Microsoft.CSharp" version="4.0.1" "Microsoft.NETCore.DotNetHostPolicy" version="1.0.1" "Microsoft.NETCore.Runtime.CoreCLR" version="1.0.2" "Microsoft.VisualBasic" version="10.0.1" "NETStandard.Library" version="1.6.0" "System.Buffers" version="4.0.0" "System.Collections.Immutable" version="1.2.0" "System.ComponentModel" version="4.0.1" "System.ComponentModel.Annotations" version="4.1.0" "System.Diagnostics.DiagnosticSource" version="4.0.0" "System.Diagnostics.Process" version="4.1.0" "System.Dynamic.Runtime" version="4.0.11" "System.Globalization.Extensions" version="4.0.1" "System.IO.FileSystem.Watcher" version="4.0.0" "System.IO.MemoryMappedFiles" version="4.0.0" "System.IO.UnmanagedMemoryStream" version="4.0.1" "System.Linq.Expressions" version="4.1.0" "System.Linq.Parallel" version="4.0.1" "System.Linq.Queryable" version="4.0.1" "System.Net.NameResolution" version="4.0.0" "System.Net.Requests" version="4.0.11" "System.Net.Security" version="4.0.0" "System.Net.WebHeaderCollection" version="4.0.1" "System.Numerics.Vectors" version="4.1.1" "System.Reflection.DispatchProxy" version="4.0.1" "System.Reflection.Metadata" version="1.3.0" "System.Reflection.TypeExtensions" version="4.1.0" "System.Resources.Reader" version="4.0.0" "System.Runtime.Loader" version="4.0.0 " exclude="Compile" "System.Security.Cryptography.Algorithms" version="4.2.0" "System.Security.Cryptography.Encoding" version="4.0.0" "System.Security.Cryptography.Primitives" version="4.0.0" "System.Security.Cryptography.X509Certificates" version="4.1.0" "System.Threading.Tasks.Dataflow" version="4.6.0" "System.Threading.Tasks.Extensions" version="4.0.0" "System.Threading.Tasks.Parallel" version="4.0.1" "System.Threading.Thread" version="4.0.0" "System.Threading.ThreadPool" version="4.0.10"
9.
Microsoft.NETCore.Runtime.CoreCLR • 依存関係のみを定義したメタ データ
パッケージ "Microsoft.NETCore.Jit" version="1.0.2" "Microsoft.NETCore.Windows.ApiSets" version="1.0.1"
10.
Microsoft.NETCore.Jit • プラットフォームごとのランタイム パッケージへの定義のみ runtime.json
(コンパイル ターゲットによって切り替える) { "runtimes": { "win7-x64": { "Microsoft.NETCore.Jit": { "runtime.win7-x64.Microsoft.NETCore.Jit": "1.0.2" } }, "win7-x86": { "Microsoft.NETCore.Jit": { "runtime.win7-x86.Microsoft.NETCore.Jit": "1.0.2" } }, "debian.8-x64": { "Microsoft.NETCore.Jit": { "runtime.debian.8-x64.Microsoft.NETCore.Jit": "1.0.2" } },
11.
Microsoft.NETCore.Windows.ApiSets • プラットフォームごとのランタイム パッケージへの定義のみ runtime.json
(コンパイル ターゲットによって切り替える) { "runtimes": { "win10": { "Microsoft.NETCore.Windows.ApiSets": {} }, "win7-x64": { "Microsoft.NETCore.Windows.ApiSets": { "runtime.win7-x64.Microsoft.NETCore.Windows.ApiSets": "1.0.1" } }, "win7-x86": { "Microsoft.NETCore.Windows.ApiSets": { "runtime.win7-x86.Microsoft.NETCore.Windows.ApiSets": "1.0.1" } },
12.
NETStandard.Library 1/3 • .NET
Core の BCL に相当するメタ データ パッケージ • この場合は、dnxcore50 なので Universal Windows Platform となり、NET Standard 1.3 "Microsoft.NETCore.Platforms" version="1.0.1" ランタイム ターゲットによる切り替え情報 "Microsoft.Win32.Primitives" version="4.0.1" "System.AppContext" version="4.1.0" "System.Collections" version="4.0.11" "System.Collections.Concurrent" version="4.0.12" "System.Console" version="4.0.0" "System.Diagnostics.Debug" version="4.0.11" "System.Diagnostics.Tools" version="4.0.1" "System.Diagnostics.Tracing" version="4.1.0" "System.Globalization" version="4.0.11" "System.Globalization.Calendars" version="4.0.1" "System.IO" version="4.1.0" "System.IO.Compression" version="4.1.0" "System.IO.Compression.ZipFile" version="4.0.1"
13.
NETStandard.Library 2/3 "System.IO.FileSystem" version="4.0.1" "System.IO.FileSystem.Primitives"
version="4.0.1" "System.Linq" version="4.1.0" "System.Linq.Expressions" version="4.1.0" "System.Net.Http" version="4.1.0" "System.Net.Primitives" version="4.0.11" "System.Net.Sockets" version="4.1.0" "System.ObjectModel" version="4.0.12" "System.Reflection" version="4.1.0" "System.Reflection.Extensions" version="4.0.1" "System.Reflection.Primitives" version="4.0.1" "System.Resources.ResourceManager" version="4.0.1" "System.Runtime" version="4.1.0" "System.Runtime.Extensions" version="4.1.0" "System.Runtime.Handles" version="4.0.1" "System.Runtime.InteropServices" version="4.1.0" "System.Runtime.InteropServices.RuntimeInformation" version="4.0.0" "System.Runtime.Numerics" version="4.0.1"
14.
NETStandard.Library 3/3 "System.Security.Cryptography.Algorithms" version="4.2.0" "System.Security.Cryptography.Encoding"
version="4.0.0" "System.Security.Cryptography.Primitives" version="4.0.0" "System.Security.Cryptography.X509Certificates" version="4.1.0" "System.Text.Encoding" version="4.0.11" "System.Text.Encoding.Extensions" version="4.0.11" "System.Text.RegularExpressions" version="4.1.0" "System.Threading" version="4.0.11" "System.Threading.Tasks" version="4.0.11" "System.Threading.Timer" version="4.0.1" "System.Xml.ReaderWriter" version="4.0.11" "System.Xml.XDocument" version="4.0.11"
15.
Microsoft.NETCore.Runtime.CoreCLR • プラットフォームごとのランタイム パッケージへの定義のみ runtime.json
(コンパイル ターゲットによって切り替える) { "runtimes": { "win8-arm": { "Microsoft.NETCore.Runtime.CoreCLR": { "runtime.win8-arm.Microsoft.NETCore.Runtime.CoreCLR": "1.0.2-rc3-24212-01" } }, "win7-x64": { "Microsoft.NETCore.Runtime.CoreCLR": { "runtime.win7-x64.Microsoft.NETCore.Runtime.CoreCLR": "1.0.2" } }, "win7-x86": { "Microsoft.NETCore.Runtime.CoreCLR": { "runtime.win7-x86.Microsoft.NETCore.Runtime.CoreCLR": "1.0.2" } },
16.
.NET Core と
BCL の関係 • さようなら mscorlib.dll • ようこそ System.Runtime.dll • BCL 全体を管理するメタ データ パッケージ .NET Standard Library • 依存関係の管理 • ターゲット プラットフォームの管理
17.
.NET Standard Library
とは何か • 次世代の PCL (Portable Class Library) • .NET Core ランタイム上で動作する BCL を実現させるもの メタデータ パッケージ • PCL との類似点 • バイナリ コードを共有できる API 定義 • PCL との相違点 • PCL がプラットフォーム間の共通部分に焦点を当てているのに対して、 API セットに焦点を当てている • バージョン管理がシンプルなのに対して、PCL は複雑 (番号管理) • プラットフォームに依存しない目的に対して、PCL プロファイルは Microsoft プラットフォームを目的にしている
18.
PCL プロファイル 151 .NET
framework 4.5.1 Windows 8.1 Windows Phone 8.1
19.
.NET Standard Library プラットフォーム
別名 .NET Standard netstandard 1.0 1.1 1.2 1.3 1.4 1.5 1.6 .NET Core netcoreapp → → → → → → 1.0 .NET Framework net → 4.5 4.5.1 4.6 4.6.1 4.6.2 4.6.3 Mono/Xamarin Platforms → → → → → → * Universal Windows Platform uap → → → → 10.0 Windows win → 8.0 8.1 Windows Phone wpa → → 8.1 Windows Phone Silverlight wp 8.0 →
20.
Target Framework バージョン Framework
最新 バージョン Target Framework Moniker(TFM) Compact Target Framework Moniker(TFM) .NET Standard バージョン メタ データ パッケージ .NET Standard 1.6 .NETStandard, Version=1.6 netstandard1.6 N/A NETStandardLibrary .NET Core Application 1.0 .NETCoreApp, Version=1.0 netcoreapp1.0 1.5 Microsoft.NETCore.App .NET Framework 4.6.3 .NETFramework, Version=4.6.3 net463 1.4 N/A
21.
PCL との互換性 • .NET
Standard Library 1.0、1.1、1.2 は PCL プロファイルと互換がある • Microsoft.NETCore.Portable.Compatobility 名前 .NET Portable Subset Profile 7 .NET Framework 4.5, Windows 8 1.1 Profile 3.1 Windows 8.1, Windows Phone Silverlight 8.1 1.0 Profile 3.2 Windows 8.1, Windows Phone 8.1 1.2 Profile 44 .NET Framework 4.5.1, Windows 8.1 1.2 Profile 49 .NET Framework 4.5, Windows Phone Silverlight 8 1.0 Profile 78 .NET Framework 4.5, Windows 8, Windows Phone Silverlight 8 1.0 Profile 84 Windows Phone 8.1, Windows Phone Silverlight 8.1 1.0 Profile 111 .NET Framework 4.5, Windows 8, Windows Phone Silverlight 8.1 1.1 Profile 151 .NET Framework 4.5.1, Windows 8.1, Windows Phone 8.1 1.2 Profile 157 Windows 8.1, Windows Phone 8.1, Windows Phone Silverlight 8.1 1.0 Profile 259 .NET Framework 4.5, Windows 8, Windows Phone 8.1, Windows Phone Silverlight 8 1.0
22.
.NET Standard Library
とは • マルチ プラットフォームへ対応するための新しい PCL • 従来までの PCL とは異なるアプローチ • nuget バージョン 3.x が必須のアプローチ
23.
型を参照するとは何か using System; namespace ConsoleApplication { public
class Program { public static void Main(string[] args) { Console.WriteLine("Hello World!"); var s = Console.ReadLine(); } } }
24.
メタデータ 1/2 Token Version
Flags PublicKey Name Culture HashValue 23000001 4.1.0.0 0 b03f5f7f11d50a3a System.Runtime 23000002 4.0.0.0 0 b03f5f7f11d50a3a System.Console AssemblyRef(0x23) Token ResolutionScope Name Namespace 01000003 23000001 DebuggableAttribute System.Diagnostics … 01000008 23000001 Object System 01000009 23000002 Console System TypeRef(0x01) TypeRef メタデータは、ResolusionScope によってアセンブリを特定する AssemblyRef メタデータは、アセンブリ識別子を記録している
25.
メタデータ 2/2 Token ResolutionScope
Name Namespace 01000003 23000001 DebuggableAttribute System.Diagnostics … 01000008 23000001 Object System 01000009 23000002 Console System TypeRef(0x01) Token MemberRefParent Name Signature 0a000001 01000001 .ctor 0x20010108 (引数1、I4、void) … 0a000007 01000009 WriteLine 0x0001010e (引数1、string、void) 0a000008 01000009 ReadLine 0x00000e (引数無し、string) MemberRef(0x0a) シグネチャは、メソッドの呼び出し規約、パラメータ、戻り値などを符号化した値 シグネチャによって、オーバーロードされたメソッドを特定できる
26.
Bait and Switch •
型を参照することをメタデータでは • アセンブリ参照(アセンブリ識別子) • 型(クラス)名 • メソッド名とメソッド シグネチャ • パッケージ システムを使ったテクニック • コンパイル時は、メタデータのみを解決 • 配布時にプラットフォーム固有のアセンブリに置き換える • メタデータの特徴を活用したテクニック • AssemblyRef, TypeRef, MemberRef
27.
まとめ • .NET Core
は パッケージングによってマルチ プラットフォー ムへ対応 • nuget 3.x がパッケージ 管理 • .NET Standard Library • 依存関係を管理するメタ データ パッケージ • パッケージ • コンパイル時に参照する PCL • 配布時に使用するプラットフォーム依存 PCL
28.
Appendix
29.
メソッド シグネチャ 呼び出し規約の論理和 0x20 HASTHIS,
0x00 DEFAULT, 0x10 GENERIC, 0x05 VARARG, 0x40 EXPLICITHIS ジェネリックのパラメータ数 (int32 符号化数字、2-4バイト) ジェネリックでなければ省略される パラメータ数 (int32 符号化数字、2-4バイト) 戻り値の型 0x01 void, 0x0e string, 0x02 bool, 0x08 i4 パラメータの型 (パラメータの数だけ繰り返す)
30.
参考資料 • ISO/IEC 23271 Common
Language Infrastructure (CLI) • X 3016 : 2009 ISO/IEC 23271 : 2006 共通言語基盤 (CLI)
Download