Skip to main content
マイクロソフト コーポレーション
グローバル ブラックベルト
Azure App Innovation スペシャリスト
井上 章 (いのうえ あきら) @chack411
デモで楽しむ
Visual Studio 2022 & .NET 6
最新アップデート
1.0
1.1
2003
Visual Studio
.NET 2002/2003
2.0
2006
Visual Studio
2005
3.0
3.5
2008
Visual Studio
2008
4
2010
Visual Studio
2010
4.5
2012
Visual Studio
2012
4.5.1
4.5.2
2013
Visual Studio
2013
1998
Visual Studio
6.0
.NET Framework
2015/7/20 RTM
4.6
.NET Core 1.0
2015
Visual Studio
2015
4.7
.NET Core 2.2
2017
Visual Studio
2017
2017/3/7 RTW
2013/10/17 RTM
2012/9/12 RTM
2010/6/18 RTM
2008/2/8 RTM
2006/2/1 RTM
2002/3/22 RTM
2003/6/25 RTM
1998/9/25 RTM
2019
Visual Studio
2019
2019/4/2 RTW
4.8
.NET Core 3.1
.NET 5
Visual Studio 2022
VisualStudio.com/download
R EL EASED
信頼性とパフォーマンスの向上
.NET 6、Blazor、MAUIによる
クロスプラットフォームおよび
クラウドアプリの開発
AI ⽀援ベースの IntelliCode による
⽣産性の向上
• devenv.exe の 64-bit 化による⼤規模ソリューションへの対応
• デバッグと診断ツールの改善や ARM64 クロスプラットフォームデバッグのサポート
• エディターの複数キャレットの編集やスペルチェックなどの機能改善
• IntelliCode によるコード補完機能の強化
• C# 10, .NET MAUI, Blazor などの .NET 6 への対応
• 実⾏中のアプリを停⽌することなくコードの変更を適⽤できる ホットリロード 対応
• Razor (ASP.NET Core) エディターの機能強化
• XAML ライブ プレビューによる Visual Studio 内での WPF XAML 編集機能強化
• Linux コンテナー, WSL, SSH 接続によるリモートテスト (試験的プレビュー)
• C++20 のサポート
Visual Studio 2022 新機能
Visual Studio 2022 Preview リリース ノート | Microsoft Docs
Visual Studio 2022 のロードマップ | Microsoft Docs
Developer productivity improvements
Hot Reload
• プロセスの再起動なしでコードの変更を反映
• F5 デバッグなしでもデバッグ可能
• 再起動時間の減少、コーディング時間の拡⼤
• CLI および Visual Studio 2022 で利⽤可能
• 4.6 以降のすべての .NET バージョンと
すべてのプロジェクトタイプで利⽤可能
n .NET Core / Xamarin / .NET Framework アプリケーション モデルをサポート
n 統⼀プラットフォームへ向けた .NET Core の進化
n シングル SDK, ⼀つの BCL, 統⼀されたツール チェーン
n クロスプラットフォーム ネイティブ UI
n クロスプラットフォーム Web UI
n Cloud Native への投資
n パフォーマンス、サイズ、診断、Azure サービスの継続的な改善
n .NET 6 に含まれないアプリケーション モデル
n ASP.NET Web Forms
n WCF (Windows Communication Foundation)
n WF (Windows Workflow Foundation)
– .NET 6
.NET Framework
Mono / Xamarin
.NET Core
.NET
One .NET vision
.NET has the best of breed solutions for all modern workloads
.NET 6
統⼀された共通の Base Libraries と SDK
業界トップのパフォーマンス
コードの簡素化、開発の容易性
新しい C# 10, F# 6 リリース
Apple Silicon (ARM64) のサポート
LTS (⻑期サポート) リリース
get.dot.net/6
ASP.NET Core Blazor
n .NET (Razor Pages & C#) でフロントエンド Web UI を開発
n JavaScript, Angular, React, Vue などを知らなくても OK
n .NET の安定性と⼀貫性
n すべての WebAssembly 対応ブラウザーで動作
n ネイティブ パフォーマンス, プラグインなどは不要
n Client と Server 間での C# コードの共有、強く型付けされた開発
n 2 種類のホスティング モデル
n Blazor サーバー アプリ : サーバーサイドの .NET プロセスで実⾏、SignalR で通信
n Blazor WebAssembly アプリ : Web ブラウザーの WebAssembly で実⾏
https://blazor.net
Razor Components
.NET
WebAssembly
[参考] ASP.NET Web Forms から Blazor への移行 | Microsoft Docs
Blazor – full stack web apps with .NET
Blazor サーバー Blazor WebAssembly
DOM
Blazor
WebAssembly
.NET
Razor Components
Blazor
.NET
Razor Components
DOM
SignalR
ü サーバー側機能へフルアクセス
ü ⾼速起動
ü コードはサーバー側で実⾏
ü 古いブラウザとシンクライアントをサポート
û 永続的なコネクションが必要
û UI レイテンシーが⾼い
ü完全にクライアント側で実⾏
üサーバー コンポーネントは不要
ü静的サイトでホスト
üオフライン実⾏可能
ûダウンロードサイズが⼤きい
û実⾏時パフォーマンスがサーバー側実⾏より低速
Blazor – full stack web apps with .NET
Blazor サーバー Blazor WebAssembly
DOM
Blazor
WebAssembly
.NET
Razor Components
Blazor
.NET
Razor Components
DOM
SignalR
ü サーバー側機能へフルアクセス
ü ⾼速起動
ü コードはサーバー側で実⾏
ü 古いブラウザとシンクライアントをサポート
û 永続的なコネクションが必要
û UI レイテンシーが⾼い
ü完全にクライアント側で実⾏
üサーバー コンポーネントは不要
ü静的サイトでホスト
üオフライン実⾏可能
ûダウンロードサイズが⼤きい
û実⾏時パフォーマンスがサーバー側実⾏より低速
Blazor WebAssembly ahead-of-time (AOT) compilation
Smaller Blazor WebAssembly app download size
Error boundaries
Razor component type inference & generic type constraints
Dynamic components
Blazor state persistence during prerendering
.NET 6
クロス プラットフォーム, ネイティブ UI
シングル プロジェクト, シングル コードベース
モバイルやデスクトップなどマルチデバイスへのデプロイ
2022 年 春頃に GA 予定
.NET Multi-platform App UI (.NET MAUI)
.NET 6
.NET Multi-platform App UI
WinUI
Mac
Catalyst
Android
iOS
iOS
macOS
github.com/dotnet/maui
ネイティブと Web の UI コンポーネントの再利⽤
.NET Multi-platform App UI 上に構築
ネイティブ アプリ コンテナーと埋め込みコントロール
2022 年 春頃に GA 予定
Hybrid apps with Blazor & .NET MAUI
.NET MAUI
Blazor
Can use native app
container & controls
iOS
macOS
Minimal APIs for cloud native apps
var app = WebApplication.Create(args);
app.MapGet("/", () => "Hello World!");
app.Run();
軽量、単⼀ファイルで Cloud Native API
少ない作法、トップレベルでの C# プログラム
Path to MVC
.NET 6 で GA
Minimal code for minimal apps
Simplify your code with C# 10
global using Model; // Global usings apply to entire project
// using System; // Implicit usings for each project type
namespace Model; // File-scope namespace, no indentation needed
// Records can be structs as well as classes
public record struct Order(Customer Customer, string Kind, int Items);
public record class Customer(string Name, string Address);
// Lambdas have types
var parse = (string s) => int.Parse(s); // Func<string, int>
.NET リリース スケジュール
• 2021 年 11 ⽉ – .NET 6 (LTS) リリース
• 毎年 11 ⽉にメジャー リリース予定
• LTS は奇数年リリース
• 予定リリース以外に必要であればマイナーリリースあり
• LTS サポートは 3 年
Dec 2019
.NET Core 3.1
LTS
Nov 2020
.NET 5.0
Nov 2021
.NET 6.0
LTS
Nov 2022
.NET 7.0
Nov 2023
.NET 8.0
LTS
.NET 〜 すべてのアプリのための統⼀プラットフォーム
COMMON BASE LIBARIES/APIs
INFRASTRUCTURE
.NET 6
TOOLS
Visual Studio Code
CLI
Visual Studio
Visual Studio for Mac
WEB MOBILE GAMING IoT AI
ASP.NET
Blazor
.NET MAUI
Xamarin
Unity ARM32
ARM64
ML.NET
.NET for
Apache Spark
DESKTOP
.NET MAUI
WPF
WinForms
CLOUD
Azure
ECOSYSTEM
NuGet
GitHub
Components,
tools, library
vendors
http://msft.it/6016Z6P98
.NET 6 を使ってみよう!
https://youtu.be/9WR3eQAytO8
Visual Studio 2022 を使ってみよう!
https://youtu.be/NDwnVchKg0A
n 本書に記載した情報は、本書各項⽬に関する発⾏⽇現在の Microsoft の⾒解を表明するものです。Microsoftは絶えず変化する市場に対応しなければならないため、ここに記載した情報
に対していかなる責務を負うものではなく、提⽰された情報の信憑性については保証できません。
n 本書は情報提供のみを⽬的としています。 Microsoft は、明⽰的または暗⽰的を問わず、本書にいかなる保証も与えるものではありません。
n すべての当該著作権法を遵守することはお客様の責務です。Microsoftの書⾯による明確な許可なく、本書の如何なる部分についても、転載や検索システムへの格納または挿⼊を⾏うこ
とは、どのような形式または⼿段(電⼦的、機械的、複写、レコーディング、その他)、および⽬的であっても禁じられています。これらは著作権保護された権利を制限するものではあ
りません。
n Microsoftは、本書の内容を保護する特許、特許出願書、商標、著作権、またはその他の知的財産権を保有する場合があります。Microsoftから書⾯によるライセンス契約が明確に供給さ
れる場合を除いて、本書の提供はこれらの特許、商標、著作権、またはその他の知的財産へのライセンスを与えるものではありません。
n Microsoft, Windows, その他本⽂中に登場した各製品名は、Microsoft Corporation の⽶国およびその他の国における登録商標または商標です。
その他、記載されている会社名および製品名は、⼀般に各社の商標です。