Microsoft Defender XDR で Windows 11 端末の監視を始めたところ、Microsoft .NET の脆弱性が指摘されたので、これを機に.NET 8 にアップグレードしてみました。
インストールされている .NET のバージョンの確認
まずは、現在インストールされている .NET のバージョンを確認してみます。
PowerShell で dotnet --info
コマンドを実行してみると、6.0.23 の NETCore.App とWindowsDesktop.App がインストールされていました。
(これは自分でインストールした記憶が無い。。)
最新版の .NET SDK をインストール
最新版の .NET を調べてみると、2024年4月9日にリリースされた 8.0.4 が最新版だと分かります。https://dotnet.microsoft.com/ja-jp/download/dotnet
ちなみに、.NET 6 の最新版は 6.0.29 なので、上記の現在インストールされている 6.0.23 は確かに古くて脆弱性が確認されているバージョンっぽい。また、.NET 6 のサポート終了日は2024年11月12日なので、早めに新しいバージョンにアップグレートしておいた方がよさそう。
改めて、.NET 8 の最新版の msi ファイルをダウンロードしてインストールしてみます。インストールオプションとしては SDKとランタイム(ASP.NET coreランタイム/.NET デスクトップランタイム/.NET Runtime)がありますが、今後 Visual Studio から使うかもしれないので、SDK をインストールしてみました。https://dotnet.microsoft.com/ja-jp/download/dotnet/8.0
インストール結果の確認
無事インストールされたか、念のため Windows を再起動してから確認してみます。
PowerShell で dotnet --info
コマンドを実行してみると、確かに 8.0.4 がインストールされていました。ただし、前からあった 6.0.23 の NETcore.App と WindowsDesktop.App もそのまま残っていました。
.NET 6 のものが残っているのは気持ちが悪いので、削除しておきました。Windows 11のスタートメニューから「設定」→「アプリ」→「インストールされているアプリ」と辿り、「Microsoft .NET デスクトップ 6.0.23」をアンインストールします。
改めて dotnet --info を実行すると、8.0.4 だけがインストールされた状態になりました。
.NET SDK:
Version: 8.0.204
Commit: c338c7548c
Workload version: 8.0.200-manifests.9f663350
ランタイム環境:
OS Name: Windows
OS Version: 10.0.22631
OS Platform: Windows
RID: win-x64
Base Path: C:\Program Files\dotnet\sdk\8.0.204\
インストール済みの .NET ワークロード:
表示するインストール済みワークロードはありません。
Host:
Version: 8.0.4
Architecture: x64
Commit: 2d7eea2529
.NET SDKs installed:
8.0.204 [C:\Program Files\dotnet\sdk]
.NET runtimes installed:
Microsoft.AspNetCore.App 8.0.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 8.0.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 8.0.4 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Other architectures found:
None
Environment variables:
Not set
global.json file:
Not found
Learn more:
https://aka.ms/dotnet/info
Download .NET:
https://aka.ms/dotnet/download