DotNetDetector #2 日本語ページの作成と1.0.0-alpha01

前回、DotNetDetector.1.0.0-alpha00をリリースしたことを投稿しました。まだ、日本語ページを作成していなかったため、日本語ページを作成しました。

DotNetDetectorライブラリーの日本語ページ

ソースコードやライブラリーは、github.comやnugetに公開しています。しかし、情報はすべて英語となります。

日本語のページがないと利用しにくいので、DotNetDetectorの日本語ページをこのサイト内に作成しました。

DotNetDetectorの日本語ページはこちらです。

github.comで公開しているREADME.mdの日本語版も公開しています。

バージョン 1.0.0-alpha01

日本語ページを作成したと同時に、1.0.0-alpha01をリリースしました。

主な変更は、バグフィックスとライブラリーの分割です。

ライブラリーの分割

前回のバージョンとの大きな変更は、ライブラリーを二つに分割したことです。

ライブラリーの仕様として、.NET Coreアプリから利用したときDotNetDetector.DetectInstalledNetFrameworkVersion()のメソッドは、常にnullを返していました。これは、このメソッドを実装するためには、レジストリーにアクセスする必要があり、この機能のためだけに、必要なライブラリー参照が増えてしまうことを避けるためです。

ただ、.NET Coreアプリから利用したいことがあるかもしれません。そのため、.NET Coreアプリからも利用できるようにするため、ライブラリーをNishySoftware.DotNetDetectorとNishySoftware.DotNetDetector.DNFの二つに分割しました。DNFは、DotNetFramewrokの省略形です。

NishySoftware.DotNetDetector.DNF

後者のNishySoftware.DotNetDetector.DNFライブラリーがDetectInstalledNetFrameworkVersion()を実装したライブラリーとなります。このライブラリーは、レジストリを参照するために、ライブラリー参照が増えています。ただし、DotNetDetector本体のライブラリーとは別のライブラリーにしたため、この機能を使わないときは、影響がありません。

分割した影響でメソッドを定義しているクラス名が変更になります。具体的には、DotNetDetector.DetectInstalledNetFrameworkVersion()からDotNetDetectorDNF.DetectInstalledNetFrameworkVersion()に変わります。

サンプルコードの変更点

そのため、前回のサンプルコードは、少し変更になります。該当部分のみを抜き出すと、

var installedDotNetFramework = DotNetDetector.DetectInstalledNetFrameworkVersion();Console.WriteLine("Installed .NET framework version: " + installedDotNetFramework?.ToString());

は、以下のように変更になります。

var installedDotNetFramework = DotNetDetectorDNF.DetectInstalledNetFrameworkVersion();Console.WriteLine("Installed .NET framework version: " + installedDotNetFramework?.ToString());

サンプリアプリの実行結果

サンプリアプリの実行結果も前回と異なります。具体的には、.NET Coreアプリにおいても、システムにインストールされている.NET Frameworkのバージョンが検出できます。

次に、実行結果を示しますが、Installed .NET framework version:のバージョンが表示されていることがわかります。

.NET Frameworkアプリの実行結果

このコードを、.NET Framework 4.7.2 (net472)をターゲットに設定したコンソールアプリから実行すると以下の結果になります。

ImageRuntimeVersion: v4.0.30319
RuntimeEnvironment: v4.0.30319
Environment.Version: 4.0.30319.42000
App target framework type: DotNetFramework
App target framework version: 4.7.2
App runtime framework version: 4.8.4220.0
Installed .NET framework version: 4.8

前者3行は、プラットフォームのAPIを使って表示した結果なので、先の結果と同じ内容です。後者4行がこのライブラリーを使った結果です。正しくバージョンが判定できています。

.NET Coreアプリの実行結果

同様に、.NET Core 3.1 (netcoreapp2.2)をターゲットに設定したコンソールアプリから実行すると、以下の結果になります。

ImageRuntimeVersion: v4.0.30319
RuntimeEnvironment: v4.0.30319
Environment.Version: 4.0.30319.42000
App target framework type: DotNet
App target framework version: 2.2
App runtime framework version: 2.2.8
Installed .NET framework version: 4.8

以上、DotNetDetectorライブラリーの日本語ページと1.0.0-alpha01のリリースの紹介でした。

“DotNetDetector #2 日本語ページの作成と1.0.0-alpha01” への1件の返信

コメントを残す