single.php

C# WinUI3で[Unpackaged]デバッグ時に”クラスが登録されていません”が表示される場合の対処法

C# WinUI 3アプリを作っていく途中で、調べたことを忘録的に投稿します。今回はWinUI3 プロジェクトで[Unpackaged]でデバッグした際に[System.Runtime.InteropServices.COMException: ‘クラスが登録されていません(0x80040154(REGDB_E_CLASSNOTREG))’]が表示される場合の対処法です。

‘クラスが登録されていません(0x80040154(REGDB_E_CLASSNOTREG))’

Visual Studioの[WinUI3]プロジェクトを作成すると実行するビルドに[Packaged]と[Unpackaged]が用意されています。

[Unpackage]を選択して実行した際、次の例外が発生する場合があります。[System.Runtime.InteropServices.COMException: ‘クラスが登録されていません(0x80040154(REGDB_E_CLASSNOTREG))’]

アプリケーション[Packaging]の変更

以前に紹介した[プロジェクトファイルの編集]する方法もありますが、今回は[プロジェクトのプロパティ]で[Packageing]項目を無効にすることでエラーが回避できます。

具体的には次の手順で行います。

1.[ソリューション エクスプローラー]の[プロジェクト]を右クリックして表示されたポップアップメニューで[プロパティ]を選択します。

2. 表示されたプロパティの一覧から[アプリケーション|依存関係|Packaging]の[MSIX Packaging]の[Enables MSIX Packaging for this Project]を無効(チェックを外す)にします。

3. 再度ビルドを行います。

ビルド後に実行して例外が発生するか確認します。

まとめ

今回は、短い記事ですが、WinUI3 プロジェクトで[Unpackaged]でデバッグした際に[System.Runtime.InteropServices.COMException: ‘クラスが登録されていません(0x80040154(REGDB_E_CLASSNOTREG))’]が表示される場合の対処法について紹介しました。

WinUI 3で[Unpacked]のデバッグ時にエラーが発生する人の参考になれば幸いです。

スポンサーリンク

最後までご覧いただき、ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です