最近は Windows Phone 8.1 アプリの多言語対応を試していたのですが、WPF の時よりも圧倒的に簡単になっていてとても良いと思いました。
Windows Phone 8.1 for Developers – Localizing Apps | Jayway
x:Uid を使ってリソースと簡単に関連付けられるのは便利です。同じ x:Uid を使うとしても WPF だと LocXAML とかサンプルコードに毛の生えたようなツールを使って行う必要があるとか、正直なところ意味が分かりませんでしたからね。
しかし、Visual Studio でリソースを含んだストア用のパッケージを作ると、何故かパッケージのバージョンがおかしくなる現象に遭遇しました。
マニフェストにはそんなバージョン指定していないのですが、いきなり日付ベースのバージョンになるとか困りましたね。もしかしたら、ストアに公開した時には正しいバージョンになるのかと思って、そのまま申請を進めてみました。
途中で警告が出ました。よく見たら今までは appx だったのが appxbundle という別の拡張子になってます。こいつがバージョンが狂った原因のようですね。
そのまま申請を行いましたが、パッケージのバージョンが正常に戻る気配はありません。
そして申請が通り、新バージョンが公開されましたがバージョンはそのままでした。残念です。
原因が appxbundle にあるのなら、作成しないようにすればいいのではないかと思ったので、実際に別のアプリケーションで試してみました。
appxbundle を作らないようにするための設定は、パッケージ作成ダイアログにあります。
翻訳がおかしいっぽいですが、表示しないを選ぶと普通の appx が作成されるようになります。
実際にアップロードしてみると正しいバージョンが表示されました。これなら問題なく使えそうです。
ちなみに appxbundle でアップしてしまった場合には、この方法は使えなくなるので注意。
多分 appxbundle を作る部分のバグだと思います。