Quantcast
Channel: かずきのBlog@hatena
Viewing all articles
Browse latest Browse all 1387

英語圏のPCLライブラリを日本語環境のUWPで使うとエラーで落ちるかもしれない… #windev_jp

$
0
0

Prism.UnityのUWP版を使ってリリースビルドすると、アプリ起動時に落ちるので何だろうと数日探ったところ以下の条件がそろったときに例外が発生することがわかりました。

  • 設定 → 時刻と言語 → 地域と言語の言語にEnglishが追加されていない(デフォルトそうだよね??)
  • PCLのライブラリのAssemblyInfoにNeutralResourcesLanguage("en")が設定されている(英語圏の環境で作るとこうなるっぽい)
  • PCLのライブラリでリソースを作ってるが特に多言語化はされていない(普通にリソース作っただけ)
  • UWPの言語設定がja-JPになっている
  • UWPからPCLで定義されたリソースに間接的にでもアクセスする

因みに発生する例外はNullReferenceExceptionってなるときもあればArgumentNullExceptionになることもあるかな。どういう条件のときにNullReferenceExceptionで、どういう条件のときにArgumentNullExceptionなのかは追い切れてません。

再現プロジェクト

GitHubに再現するプロジェクトおいてみました。

github.com

上記リポジトリをCloneしてHelloWorldAppをスタートアッププロジェクトにしてReleaseのx86にして実行すると落ちるはずです。(OSの言語の設定にEnglishを入れると落ちなくなる)

これ仕様なのかしら…。


Viewing all articles
Browse latest Browse all 1387

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>