WPFアプリが他のPCで起動しない

WPFアプリが開発PCでは正常に動作するのに、配布先のPCでは動作しない。

起動直後に図のようなウィンドウが表示されてプログラムが停止する。image

「問題の詳細の表示」の中身は以下の内容。


問題の署名:
   問題イベント名:    CLR20r3
   問題の署名 01:    DXApp1.exe
   問題の署名 02:    1.0.0.0
   問題の署名 03:    5b552c79
   問題の署名 04:    mscorlib
   問題の署名 05:    4.7.3062.0
   問題の署名 06:    5ab95126
   問題の署名 07:    4291
   問題の署名 08:    0
   問題の署名 09:    System.Windows.Markup.XamlParse
   OS バージョン:    6.1.7601.2.1.0.256.48
   ロケール ID:    1041
   追加情報 1:    0a9e
   追加情報 2:    0a9e372d3b4ad19135b953a78882e789
   追加情報 3:    0a9e
   追加情報 4:    0a9e372d3b4ad19135b953a78882e789


オンラインのプライバシーに関する声明をお読みください:
  
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0411


オンラインのプライバシーに関する声明が利用できない場合は、プライバシーに関する声明をオフラインでお読みください:
   C:\Windows\system32\ja-JP\erofflps.txt

ライブラリが足りていない?

Xamlの解析(XamlParse)で落ちている?
GUI周りに市販のライブラリを使っているので、恐らく何かDLLが不足している印象なんだけど、これだけだとどうも絞り込めない。

DispatcherUnhandledExceptionを取得するコードを追加してみた。赤字部分が追加した箇所。

(参考:c#, wpf 4.0 EventType : clr20r3 P9 : system.windows.markup.xamlparse

App.xaml

<Application x:Class="DXApp1.App"
              xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
              StartupUri="MainWindow.xaml" DispatcherUnhandledException="App_DispatcherUnhandledException">
...
</Application>


App.xaml.cs

using System.Windows.Threading;

namespace DXApp1
{
     /// <summary>
     /// Interaction logic for App.xaml
     /// </summary>
     public partial class App : Application
     {
        void App_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)
         {
             MessageBox.Show(e.Exception.ToString());
         }

     }
}


無事に例外をキャッチ!

実行してみたら、今度は詳しい内容がキャッチできた。やっぱりライブラリ追加するの忘れてた。

image

コメント

このブログの人気の投稿

TabError: inconsistent use of tabs and spaces in indentation

using ディレクティブまたはアセンブリ参照が不足しています。

Visual Studio2017でクラスダイアグラムが作れない