Windows App SDK アプリケーションで "System.Runtime.InteropServices.COMException: 'クラスが登録されていません (0x80040154 (REGDB_E_CLASSNOTREG))' 例外が発生する際の対処法を紹介します。
Windows App SDKのアプリケーションを実行すると以下の例外が発生しアプリケーションを起動できません。
パッケージに関する処理をオフにすることで対処できます。
ソリューションエクスプローラーでプロジェクトのノードを選択し右クリックします。下図のポップアップメニューが表示されますので、
[プロパティ]の項目をクリックします。
プロジェクトの設定画面が表示されます。左側の[アプリケーション]のノードを開きます。
[Packaging]の項目をクリックして選択します。下図の画面が表示されます。
右側のエリアの[Packaging]の項目の、[Enables MSIX Packaging for this Project]のチェックボックスにチェックがついている場合は、
クリックしてチェックを外します。
プロジェクトを実行して、例外が解消されるか確認します。
ソリューションエクスプローラーでプロジェクトのノードを選択し右クリックします。下図のポップアップメニューが表示されますので、
[プロジェクト ファイルの編集]の項目をクリックします。
プロジェクト ファイルのコードが表示されます。
プロジェクトファイルのXMLのコードの<PropertyGroup>タグ内に以下の <WindowsPackageType> タグを記述します。
<WindowsPackageType>None</WindowsPackageType>
詳しくはこちらの記事を参照してください。
編集後にプロジェクトを実行して、例外が解消されるか確認します。