Windows App SDK アプリケーションで Unpackaged のアプリケーションをデバッグ実行すると "System.Runtime.InteropServices.COMException: 'クラスが登録されていません (0x80040154 (REGDB_E_CLASSNOTREG))' 例外が発生してアプリケーションを起動できない

Windows App SDK アプリケーションで "System.Runtime.InteropServices.COMException: 'クラスが登録されていません (0x80040154 (REGDB_E_CLASSNOTREG))' 例外が発生する際の対処法を紹介します。

現象

Windows App SDKのアプリケーションを実行すると以下の例外が発生しアプリケーションを起動できません。

メッセージ
System.Runtime.InteropServices.COMException: 'クラスが登録されていません (0x80040154 (REGDB_E_CLASSNOTREG))

Windows App SDK アプリケーションで Unpackaged のアプリケーションをデバッグ実行すると

対処法:プロジェクト設定を変更する方法

パッケージに関する処理をオフにすることで対処できます。

ソリューションエクスプローラーでプロジェクトのノードを選択し右クリックします。下図のポップアップメニューが表示されますので、 [プロパティ]の項目をクリックします。
Windows App SDK アプリケーションで Unpackaged のアプリケーションをデバッグ実行すると

プロジェクトの設定画面が表示されます。左側の[アプリケーション]のノードを開きます。
Windows App SDK アプリケーションで Unpackaged のアプリケーションをデバッグ実行すると

[Packaging]の項目をクリックして選択します。下図の画面が表示されます。 右側のエリアの[Packaging]の項目の、[Enables MSIX Packaging for this Project]のチェックボックスにチェックがついている場合は、 クリックしてチェックを外します。
Windows App SDK アプリケーションで Unpackaged のアプリケーションをデバッグ実行すると
Windows App SDK アプリケーションで Unpackaged のアプリケーションをデバッグ実行すると

プロジェクトを実行して、例外が解消されるか確認します。

対処法:プロジェクトファイルを編集する方法

ソリューションエクスプローラーでプロジェクトのノードを選択し右クリックします。下図のポップアップメニューが表示されますので、 [プロジェクト ファイルの編集]の項目をクリックします。

Windows App SDK アプリケーションで Unpackaged のアプリケーションをデバッグ実行すると

プロジェクト ファイルのコードが表示されます。
Windows App SDK アプリケーションで Unpackaged のアプリケーションをデバッグ実行すると

プロジェクトファイルのXMLのコードの<PropertyGroup>タグ内に以下の <WindowsPackageType> タグを記述します。

<WindowsPackageType>None</WindowsPackageType>


詳しくはこちらの記事を参照してください。

Windows App SDK アプリケーションで Unpackaged のアプリケーションをデバッグ実行すると


編集後にプロジェクトを実行して、例外が解消されるか確認します。

AuthorPortraitAlt
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
作成日: 2024-11-17
Copyright © 1995–2025 iPentec all rights reserverd.