はじめに

既に Microsoft Store に公開しているアプリケーションを、更新する過程でつまずいたことを備忘録として記述していきます。

同じような事象で悩んでいる人の助けになれば幸いです。

問題の事象

初回リリース時のことは正直覚えていませんが、アプリケーションのビルドを x86 から x64 に変更しました。(※x86 と x64 の違いについてはこちらのページを参考にしてください)

プロジェクトのビルドで、プラットフォームターゲットを x64 に変更したことで発生しました(多分…)

プラットフォームターゲット

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

image2

image3

image4

image5

画像のようにproject.assets.jsonが無いというエラーでビルドが停止します。

これはバグか何なのか不明ですが、x86 ではそのような事象は発生しなかったと記憶しています(多分…)

そして、MSIX パッケージが似非 64 ビットになる件の記事を参考にこの問題を解決しました(ありがとうございます!)

手順としては、大元となるプロジェクト(クラスライブラリなどではなく WPF プロジェクト)内のbinobjフォルダを一旦削除します。

image6

image7

image8

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

image9

image10

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

image11

これらのファイルをMSIX パッケージが似非 64 ビットになる件を参考に手動で移動してもよいのですが、プロジェクト内に以下の記述を追加して、アプリケーションパッケージ化をした際に自動で指定のフォルダにコピーされるようにします。

ZahyoKun.csproj


    
        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 だけでもいいのかもしれませんが)。

ここまでの作業でアプリケーションパッケージ化のビルドもエラーなく通ると思います。

image12

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

image13

さいごに

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