🐥note.

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

.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のインストールを勧めてきますよね。
同じ感じになったんですねー。