ROOM
Bhttp://aka.ms/chack
井上 章 (いのうえ あきら)
エバンジェリスト
http://aka.ms/chack
2008 年マイクロソフト入社。
主に .NET/ASP.NET や Visual Studio,
Microsoft Azure などの開発技術を専門とする
エバンジェリストとして、技術書籍やオンライン記事
などの執筆、さまざまな技術イベントでの講演など
を行う。
セッションのゴール
 .NET Core / ASP.NET Core が実現する
クロスプラットフォーム .NET 開発の最新動向を知る
 アプリケーション モデルやタイプ、発行と運用、
そしてコードの再利用性などを学ぶ
 .NET が目指す未来を知る
dotnet bot
http://dot.net
Any developer, any app, any platform
ライブラリランタイム 言語 ツール
CLR System.*
Microsoft.*
etc...
CLI
C#, F#, VB
etc...
Visual Studio
etc...
CLR: Common Language Runtime
CLI: Common Language Infrastructure (共通言語基盤)
.NET Standards: https://github.com/dotnet/coreclr/blob/master/Documentation/project-docs/dotnet-standards.md
"More and more of ASP.NET is open source. We want to
make ASP.NET more pluggable, more open, more fun."
"We've got big things planned - some that will surprise you."
February 25, 2012
by Scott Hanselman
RyuJIT, SIMD
Runtime Compilers
.NET Compiler Platform (“Roslyn”)
C#/F#/VB Languages
.NET Core 1.0 Libraries
.NET Framework 4.6 Libraries
Libraries
.NET Framework 4.6 .NET Core 1.0
Fully-featured and integrated
.NET libraries and runtime for Windows
Modular and optimized
.NET libraries and runtimes
Developed
in the open
dotnet.github.io
github.com/dotnet
github.com/aspnet
過去 ~ .NET Core 5
 Beta 3 までの SDK
 KRE (K Runtime Environment)
 k コマンド (ランタイム エントリ ポイント)
 kpm コマンド (K Package Manager)
 kvm コマンド (K Version Manager)
 Beta 4 – RC1 までの SDK
 DNX (.NET Execution Environment)
 dnx コマンド (ランタイム エントリ ポイント)
 dnu コマンド (.NET Development Utility)
 dnvm コマンド (.NET Version Manager)
Commit log: DNX ALL THE THINGS
現在 ~ .NET Core 1.0
.NET Core 1.0
ASP.NET Core 1.0
.NET Core 5 / ASP.NET 5 is dead …
+ +
( .NET Core 5 )
( ASP.NET 5 )
Red Hat Enterprise Linux 7.2 (coming soon) Linux Mint 17+
Centos 7.1 OS X 10.10, 10.11
Debian 8.2+ Windows 7+ / Windows Server 2012 R2+
Ubuntu 14.04 (16.04 support is coming at RTM) Windows Nano Server TP5



RC2
Preview 1
Preview 1
※ SDK, Tooling RTM は Visual Studio “15” RTM と同じ時期のリリースを予定
http://www.microsoft.com/net/core
dotnet new サンプル プロジェクトの生成 (C#, F#)
dotnet restore 実行に必要なパッケージのリストア
dotnet build .NET Core プロジェクトのビルド
dotnet publish .NET アプリケーションの発行
dotnet run .NET プロジェクトのビルドと実行
dotnet test ユニットテストの実行
dotnet pack アセンブリの NuGet パッケージ生成
dotnet [app.dll] アプリケーションの実行
1
2
3
4
5
6
ASP.NET Core 1.0
.NET Framework 4.6 .NET Core 1.0
Full .NET Framework for any scenario and
library support on Windows
Modular libraries & runtime optimized for server and cloud
workloads
http://swagger.io/





namespace CoreWebApp1
{
public class Program
{
public static void Main(string[] args)
{
var host = new WebHostBuilder()
.UseKestrel()
.UseUrls("http://*:8080")
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.Build();
host.Run();
}
}
}
Startup クラスによる
コンフィグレーション
WebHostBuilder.Run メソッドによる
Web アプリの実行
URL ポートの指定
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0-*"
}
},
"frameworks": {
"netcoreapp1.0": {
"imports": "dnxcore50"
}
}
"dependencies": {
"Microsoft.NETCore.App": "1.0.0-*"
},
"frameworks": {
"netcoreapp1.0": {
"imports": "dnxcore50"
}
},
"runtimes": {
"win10-x64": {},
"osx.10.11-x64": {}
}
Runtime Identifier (RID)
win10-x64
win10-x86
osx.10.10-x64
osx.10.11-x64
rhel.7.2-x64
ubuntu.14.04-x64
centos.7.1-x64
debian.8.2-x64
linuxmint.17.3-x64
…• Types of portability in .NET Core
http://dotnet.github.io/docs/core-concepts/app-types.html
• Runtime IDentifier (RID) catalog
http://dotnet.github.io/docs/core-concepts/rid-catalog.html#what-are-rids
https://github.com/aspnet/Announcements/issues/164
<configuration>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" ... />
</handlers>
<aspNetCore processPath="dotnet" arguments=".¥CoreWebApp1.dll" ... />
</system.webServer>
</configuration>
https://hub.docker.com/r/microsoft/dotnet/
beta.docker.com
https://visualstudiogallery.msdn.microsoft.com/0f5b2caa-ea00-41c8-b8a2-058c7da0b3e4
https://aka.ms/azurecontainerservice
.NET FRAMEWORK .NET CORE XAMARIN
.NET FRAMEWORK .NET CORE XAMARIN
アプリ
モデル
ベース
ライブラリ
Xamarin
APIs
.NET Framework
APIs
GUI フレームワーク
Windows APIs
各デバイス固有
クロスプラットフォーム APIs
Shared
APIs
.NET Core
APIs
クロスプラットフォーム関連
APIs
https://github.com/Microsoft/dotnet-apiport/releases
http://bit.ly/1LqX0aF
http://dotnetstatus.azurewebsites.net/
Migrating from DNX to .NET Core
Migrating from ASP.NET 5 RC1 to ASP.NET Core 1.0 RC2
Migrating your Entity Framework Code from RC1 to RC2
http://dotnet.github.io/api/index.html
https://github.com/dotnet/corefx/blob/master/Documentation/project-docs/porting.md
.NET FRAMEWORK .NET CORE XAMARIN
アプリ
モデル
ベース
ライブラリ
.NET FRAMEWORK .NET CORE XAMARIN
.NET FRAMEWORK .NET CORE XAMARIN
アプリモデル
の革新
.NETの革新
TOOLS
Any developer, any app, any platform
http://dot.net
https://dotnet/github.io
https://github.com/dotnet/home
https://github.com/aspnet/home
http://docs.asp.net
http://live.asp.net
https://github.com/aspnet/cli-samples
http://blog.shibayan.jp/
アンケートにご協力ください。
●アンケートに 上記の Session ID のブレイクアウトセッションに
チェックを入れて下さい。
●アンケートはお帰りの際に、受付でご提出ください。
マイクロソフトスペシャルグッズと引換えさせていただきます。
ROOM B
Ask the Speaker のご案内
●本セッションの詳細は、EXPO 会場内
『Ask the Speaker』コーナー
Room B カウンタにてご説明させて
いただきます。是非、お立ち寄りください。
Ask the Speaker
EXPO会場MAP
本情報の内容(添付文書、リンク先などを含む)は作成日時点でのものであり、予告なく変更される場合があります。

DEV-002_.NET Core/ASP.NET Core が実現するクロスプラットフォーム .NET の今と未来