【.NET MAUI Blazor】DEP0700: アプリケーションの登録に失敗しました。
.NET MAUI Blazorの「DEP0700: アプリケーションの登録に失敗しました。...」と「デバッグするには、プロジェクトを再配置する必要があります。...」をなんとかしたい!
概要
今回の記事では、.NET MAUI Blazorの「DEP0700: アプリケーションの登録に失敗しました。...」と「デバッグするには。プロジェクトを...」をなんとかする手順を掲載する。
仕様書
環境
- .NET 8
手順書
古い.NET Framework 4.7のプロジェクトを.NET MAUI Blazorに移行しようとしたことがあった。空の.NET MAUI Blazorのプロジェクトを作って、デバッグを実行すると
「デバッグするには、プロジェクトを再配置する必要があります。構成マネージャーでは位置を有効にしてください。」
というダイアログが表示されてデバッグが開始しない。
同時に出力に
「DEP0700: アプリケーションの登録に失敗しました。[0x80080204]エラー」0xC00CE169: アプリ マニフェスト検証エラー: アプリ マニフェストは、スキーマに対応する必要があります: 行10、列13、理由:'com.example.sugoi_app'が、'[-,A-Za-z0-9]+'が、pattern
制約に違反しています。…」
と表示される。
それぞれ別の原因でデバッグの実行を妨げてるので。一つ一つ直してく。
再配置編
まずダイアログの方から
「デバッグするには、プロジェクトを再配置する必要があります。構成マネージャーでは位置を有効にしてください。」
いままでC#的には.NET FrameworkやASP.NET Core Web、Unityくらいにしか触れてこなった自分には「再配置」は何なのか分からない。ちなみにソリューションの構成を「Debug」から「Release」に変えても同じダイアログが表示されて実行されない!
.NET MAUI Blazorは事前にソリューションの設定で配置されるように設定する必要がある。
ソリューションのプロパティ(プロジェクトではなくソリューションの方)を開くと.NET MAUI Blazorのプロジェクトの行では「配置」のチェックボックスが有効になってるのでチェックを入れておく。
DEP0700編
次に出力に表示された方
「DEP0700: アプリケーションの登録に失敗しました。[0x80080204]エラー」0xC00CE169: アプリ マニフェスト検証エラー: アプリ マニフェストは、スキーマに対応する必要があります: 行10、列13、理由:'com.example.sugoi_app'が、'[-,A-Za-z0-9]+'が、pattern
制約に違反しています。…」
これはメッセージの通りで'com.example.sugoi_app'というバッケージ名的なものに使われてる文字に無効な文字列が入っているということみたい。正規表現[-,A-Za-z0-9]+
で使える文字の指定があって、今回の場合は_
が駄目らしい。アンスコの何が気に入らないのか。
んで、このバッケージ名的なものを設定する項目はどこにあるのか。今度はプロジェクトのプロパティを開く。
「MAUI共有」の「アプリケーションID」が該当の項目なので
_
を-
に変えてやる。
変えたら「リビルド」する。リビルドすることで「アプリケーションID」の設定が反映されて、配置?される。
ここまでやったら「Debug」を実行できるようになる。
Debugが正常に実行されるとこんな感じのウィンドウが表示される。
まとめ(感想文)
.NET MAUI Blazor初心者が空のプロジェクトを実行して困難表示されてもどうしていいか分かる訳ないと思われ。