🐥note.

小鳥とMicrosoft <3 なエンジニアの技術Blog📚

Blazorチョット(だけ快適に開発)デキルようになる(かもしれない)小技

本エントリはBlazor Advent Calender 2019の16日目の記事です

Blazorの開発を行う上でチョット(だけ快適に開発)デキルようになる(かもしれない)小技を紹介します。

続きを読む

2019年11月のMicrosoft DocsのUpdateについて

Redditに2019年11月のMicrosoft Docsの更新状況について投稿がありました。
対象期間は2019/11/01 ~ 2019/12/04の間です。

www.reddit.com

なお、先月の更新状況は以下の通りです。

blog.piyosi.com

今月のテーマ

今月のテーマとしては以下の点が挙げられるそうです。

  • .NET

    • System.Text.Json documentation
    • C# 8.0 Updates
    • C# 8.0 Spec updates
    • New C# landing page
    • New API docs
    • SameSiteMode updates
  • ASP.NET

    • React to identified problems with the 3.0 release
    • Article updates for 3.0
    • SameSiteMode updates

注目すべき変更点

注目すべき記事には以下のマークが付与されています。

📢: Major/Main article that everyone will want to read
💥: Important/Must read.
✨: Brand new page

上記マークが付与された記事の一部や個人的に気になった記事だけ抽出したいと思います。

今月のみんなが読みたくなる記事📢

特になし

今月の重要記事💥

API docs

444個のAPIのドキュメントを追加したそうです。

今月の新しいページ✨

今月は.NET Core 3.1のリリースのためか、ここに載せきれないくらいいっぱいあります✨

Runtime Configuration

config系がわんさかあります。

C#

Null許容型の話

ASP.NET Core

3.1の変更点についてと、3.0から3.1へのマイグレートの話。

Blazor

とりあえずBlazor全部

Performance

メモリ管理とGCのお話

Security

マークはついてないけど個人的に気になる項目

おわり

3.1のリリースノートにも記載がありましたが、SameSiteModeってなんでしょうね。

これだけいっぱい更新されてると、どこから読み始めるか悩みますね。

.NET Core 3.1からRuntimeのインストールを勧めるメッセージが表示されるようになった

.NET Core 3.1からは.NET Core Runtimeが未インストールのPCでWPF/WinForm/Consoleアプリを起動すると「Runtimeをダウンロードしてね」って感じのメッセージが表示されるようになりました。
※.NET Core 3.0では何も表示されなかった

リリースノートには記載がないのですが
.NET TeamのProgram ManagerのRichard Lander氏がdevblogでリリースノートに書き忘れたわ~!って言ってました😂
※参考URL:https://devblogs.microsoft.com/dotnet/announcing-net-core-3-1/

f:id:piyo_esq:20191204202326p:plain
devblogsのコメント欄

Console, WPF, WinFormでは以下の表示になります。

Console

f:id:piyo_esq:20191204202410p:plain
Console App

内容は以下

C:\Users\WDAGUtilityAccount\Desktop>SampleConsole.exe
A fatal error occurred. The required library hostfxr.dll could not be found.
If this is a self-contained application, that library should exist in [C:\Users\WDAGUtilityAccount\Desktop\].
If this is a framework-dependent application, install the runtime in the global location [C:\Program Files\dotnet] or use the DOTNET_ROOT environment variable to specify the runtime location or register the runtime location in [HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\x64\InstallLocation].

The .NET Core runtime can be found at:
  - https://aka.ms/dotnet-core-applaunch?missing_runtime=true&arch=x64&rid=win10-x64

C:\Users\WDAGUtilityAccount\Desktop>

WPF

f:id:piyo_esq:20191204202434p:plain
WPF

WinForms

f:id:piyo_esq:20191204202526p:plain
WinForms

WPF/WinFormsでYesボタンを押下すると、以下のURLに飛びました。

URL:https://dotnet.microsoft.com/download?missing_runtime=true&arch=x64&rid=win10-x64&apphost_version=3.1.0

どうやらアーキテクチャ, RuntimeIdentification, アプリのホストバージョンなどを加味したリンクを生成してるっぽいですね!


以下余談です。

Windowsの使い捨て環境を用意する

今回のように.NET CoreがインストールされていないWindow環境を用意するにあたりWindows Sandboxを利用しました。

Windows Sandboxとは?

使い捨ての仮想Windows環境です。
怪しいツールを起動して試したりするのに使うそうです。

詳細はここら辺の記事をご参照ください。

forest.watch.impress.co.jp

www.atmarkit.co.jp

How2Install

Win + Rからoptionalfeatures.exeを起動し、Windows サンドボックスにチェックを入れます。

f:id:piyo_esq:20191204204031p:plain
Windowsの機能の有効化または無効化の画面

後はスタートメニューからWindows Sandboxを起動すればOKです

f:id:piyo_esq:20191204203805p:plain
Windows Sandbox

使い捨ての仮想Windowsが起動しました!

f:id:piyo_esq:20191204203825p:plain
Windows Sandbox起動画面

おわり

.NET FrameworkもRuntimeのインストールを勧めてきますよね。
同じ感じになったんですねー。