はじめに
既に Microsoft Store に公開しているアプリケーションを、更新する過程でつまずいたことを備忘録として記述していきます。
同じような事象で悩んでいる人の助けになれば幸いです。
問題の事象
初回リリース時のことは正直覚えていませんが、アプリケーションのビルドを x86 から x64 に変更しました。(※x86 と x64 の違いについてはこちらのページを参考にしてください)
プロジェクトのビルドで、プラットフォームターゲットを x64 に変更したことで発生しました(多分…)

この状態でアプリケーションパッケージプロジェクトから「アプリケーションパッケージの作成」を実行すると、




画像のようにproject.assets.jsonが無いというエラーでビルドが停止します。
これはバグか何なのか不明ですが、x86 ではそのような事象は発生しなかったと記憶しています(多分…)
そして、MSIX パッケージが似非 64 ビットになる件の記事を参考にこの問題を解決しました(ありがとうございます!)
手順としては、大元となるプロジェクト(クラスライブラリなどではなく WPF プロジェクト)内のbinとobjフォルダを一旦削除します。



その後、Release ビルドと x64 ビルドに変更しビルドします。


そうすると以下のようなファイルが作成されます。

これらのファイルをMSIX パッケージが似非 64 ビットになる件を参考に手動で移動してもよいのですが、プロジェクト内に以下の記述を追加して、アプリケーションパッケージ化をした際に自動で指定のフォルダにコピーされるようにします。
WinExe
net8.0-windows10.0.22621.0
win-x64
enable
enable
true
true
x64
icon.ico
Never
+
+
+
+ $(MSBuildProjectDirectory)\obj\project.assets.json
+ $(MSBuildProjectDirectory)\obj\wappublish\$(RuntimeIdentifier)
+
+
+
+
+
+
+
+
+
+
+
+
+
上記の.csprojに追記する記述で以下の作業を自動化しています(参考記事より引用)
間違いを防止するために、いったん、本体プロジェクトの bin フォルダー・obj フォルダーを削除します。
Release x64 本体プロジェクトのプロパティーで Platform Target が x64 になっていることを確認したうえで、Release | x64 で本体プロジェクトをビルドします。
obj フォルダーに project.assets.json を含む 5 つのファイルが作成されます。obj フォルダーの中に wappublish フォルダーを作成し、さらにその中に win-x64 フォルダーを作成します。
作成した win-x64 の中に、project.assets.json を含む 5 つのファイルをコピーします(project.assets.json だけでもいいのかもしれませんが)。
ここまでの作業でアプリケーションパッケージ化のビルドもエラーなく通ると思います。

あとは Microsoft パートナーセンターより座標くん_1.1.2.0_x64_bundle.msixuploadをアップロードして申請すれば OK です。

さいごに
興味のある方は座標くんをインストールしてみてください!



