かずきのBlog@hatena

すきな言語は C# + XAML の組み合わせ。Azure Functions も好き。最近は Go 言語勉強中。日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。

UWP版Prismを使うとリリースビルド時にアプリが落ちる #windev_jp

という状況です。原因は端的にいうとこれです。

blog.okazuki.jp

https://connect.microsoft.com/VisualStudio/feedback/details/1925435/-windows-10-pcl-uwp-nullreferenceexception

別にPrismが悪いというわけではなくUWPからPCLを使うと起きる可能性があります。 Prismの処理を追っていくと、Prismが内部で起動シーケンスの進捗報告をしてるログ出力で、上記の原因に該当してました。

回避方法はLoggerを差し替えることです。 とりあえずログがいらないならAppクラスで以下の対応をすればOKです。

protected override ILogger CreateLogger()
{
    return new EmptyLogger();
}

参ったものですね。個人的には.NET Nativeのバグだと思ってます。