2020年11月27日
川俣晶の縁側ソフトウェア技術雑記 total 2302 count

【実験】.NET5でWindowsで起動された時のみレジストリを読みに行くプログラムは可能か?

Written By: 川俣 晶連絡先

問題意識 §

 .NET5でWindowsで起動された時のみレジストリを読みに行くプログラムは可能か?

 具体的には、Ubuntuの.NET5でレジストリを読みに行ったら何が起こるかを調べた。

 TFMは.net5.0-windowsではなく.net5.0とする。

サンプルソース §

 Microsoft.Win32.Registryをnugetに追加済み

using Microsoft.Win32;

using System;

class Program

{

    static void Main(string[] args)

    {

        RegistryKey regkey = Registry.CurrentUser.OpenSubKey("test", true);

        Console.WriteLine($"Hello World! {regkey != null}");

    }

}

結果 §

 PlatformNotSupportedExceptoionになる。

画面

考察 §

 Windowsで起動された時のみレジストリを読みに行く機種依存性のないプログラムは作成できそうである。例外が起きたときは他の方法で情報を読み書きするようにコーディングすれば良い。そうすると、レジストリに既存情報があるときはそれが読める。