Windows Server Core:ltsc2019のDockerイメージに含まれる.NET Frameworkのバージョンを調べる

2020年11月25日(水)

環境

.NET Framework 4.8 Dev Packをホスト環境にインストールする

Download .NETから.NET Framework 4.8 Dev Packをダウンロードする。

Download .NET

.NET Framework 4.8 Dev Packのインストーラーを実行する。

ndp48-devpack-enu.exe

参考情報

Visual Studio Community 2019をホスト環境にインストールする

Visual Studio CommunityからVisual Studio Community 2019をダウンロードする。一番下にCommunity,Professional,Enterpriseが並んでいる。

Visual Studio Community

Visual Studio Community 2019のインストーラーを実行する。

vs_community__1310957470.1588837345.exe

C#を使ったユニバーサルWindowsデスクトップ開発のワークロードを追加する。

ホスト環境を再起動する。

参考情報

.NET Frameworkのバージョンを調べるツールをGitHubから取得する

GitHubのリポジトリからプロジェクトを取得する。プロトコルをhttps、ユーザー情報なしでアクセスする。

https://github.com/jmalarcon/DotNetVersions

Visual Studio Community 2019でプロジェクトを開く。

D:/var/workspace/github/DotNetVersions/DotNetVersions.sln

『プロジェクトのターゲットフレームワークがインストールされていません』エラーが表示される。ターゲットを.NET Framework 4.6.1に変更して続ける。

プロジェクトのターゲットフレームワークがインストールされていません

ソリューションエクスプローラーでプロジェクトを右クリックしてプロジェクトの再読み込みを行う。

プロジェクトがアンロード済みになっている
プロジェクトの再読み込みを行う

プロジェクトメニュー > DotNetVersionsのプロパティ > アプリケーション > 対象のフレームワークで.NET Framework 4.8を選択する。

対象のフレームワーク

ツールメニュー > オプション > 環境 > フォントおよび色でテキストエディターのフォントを変更する。

フォントおよび色

リリースビルドでビルドメニューからソリューションのリビルドを行う。

リリースビルド

出力された.exeファイルを実行する。"-b"オプションで実行後に終了させる。

$ cd D:\var\workspace\github\DotNetVersions\bin\Release
$ ./DotNetVersions.exe -b
4.0.0.0
4.8.04084
        

参考情報

Windows Server Core:ltsc2019のDockerイメージで.NET Frameworkのバージョンを調べるツールを実行する

Docker Desktop for WindowsをWindows Containerに切り替える。システムトレイのDockerアイコンを右クリックしてSwith to Windows containersを選択する。エラーメッセージが表示された場合は管理者権限のPowerShellコンソールでPowerShellスクリプトを実行してHyper-Vの機能を有効にする。その後、ホスト環境を再起動する。

An error occurred | Container feature is disabled.
An error occurred

Container feature is disabled. Enable it using the PowerShell script (in an
administrative PowerShell) and restart your computer before using Docker
Desktop:

Enable-WindowsOptionalFeature-Online-FeatureName $("Microsoft-Hyper-
V", "Containers") -All
          

Windows Server Core:ltsc2019のDockerイメージを取得する。

Container Base ImageからWindows Server Coreを選択する。タグがltsc2019と20H2の2つあるのでltsc2019を選択する。

$ cd D:\var\workspace\github\DotNetVersions
$ docker pull mcr.microsoft.com/windows/servercore:ltsc2019
        

イメージのサイズは5.12GBになっている。

mcr.microsoft.com/windows/servercore:ltsc2019

Dockerfileを作成する。

D:\var\workspace\github\DotNetVersions\Dockerfile
FROM mcr.microsoft.com/windows/servercore:ltsc2019
WORKDIR /app
COPY ./bin/Release .
CMD [ "cmd", "/S", "/C", "C:\\app\\DotNetVersions.exe", "-b" ]
          

Dockerイメージをビルドする。

$ cd D:\var\workspace\github\DotNetVersions
$ docker build --tag windowsservercore:dotnetversions .
        
Windows Server Core | DotNetVersions

Dockerイメージをコンテナとして実行する。"--detach"オプションでバックグラウンド実行にすると出力が表示されない。

$ cd D:\var\workspace\github\DotNetVersions
$ docker run --name WindowsServerCore-DotNetVersions windowsservercore:dotnetversions
4.0.0.0
4.7.03190
        

参考情報