none
作成したwpfアプリケーションの一部がディレクトリ上でクリックしても起動しない。kernelbase.dll等のエラーがイベントハンドラーに表示される。 RRS feed

  • 質問


  • 作成したwpfアプリケーションの一部がディレクトリ上でクリックしても起動しない。kernelbase.dll等のエラーがイベントハンドラーに表示されません。

    環境: windows10 pro 64bit visualstudio2017

    エラーが出ているwpfのアプリを下に2つ示します。2つめはそのままgithubでインストールできます。

    1.wpfp2.exe

    MaterialDesignのモジュールをつかってwpfのアプリケーションを作成しました。

    MaterialDesignの導入の仕方:https://www.youtube.com/watch?v=Cjuw4dbrqWs

    サンプルコードの動画:https://www.youtube.com/watch?v=sgEhK3mbDYo

    サンプルコードのコード : https://github.com/Abel13/Dashboard1

    2.NavigationDrawerPopUpMenu2.exe

    githubからインストールしたものをビルドしました。

    github: https://github.com/Abel13/NavigationDrawer

    NavigationDrawerPopUpMenu2.exeの動画: https://www.youtube.com/watch?v=YQ1EJJZBHyE&t=705s

    実行ファイルがあるディレクトリまで移動し、該当の実行ファイルをクリックして起動したところ

    一瞬だけロードが出てwindowが現れませんでした。


    イベントハンドラーを確認したところ

    1つ目が

    障害が発生しているアプリケーション名: Wpfp2.exe、バージョン: 1.0.0.0、タイム スタンプ: 0xb79873e7
    障害が発生しているモジュール名: KERNELBASE.dll、バージョン: 10.0.17134.556、タイム スタンプ: 0xadca2670
    例外コード: 0xe0434352

    アプリケーション:Wpfp2.exe
    フレームワークのバージョン:v4.0.30319
    説明: ハンドルされない例外のため、プロセスが中止されました。
    例外情報:System.IO.FileNotFoundException

    2つめが

    障害が発生しているアプリケーション名: NavigationDrawerPopUpMenu2.exe、バージョン: 1.0.0.0、タイム スタンプ: 0x5c9795a7
    障害が発生しているモジュール名: KERNELBASE.dll、バージョン: 10.0.17134.556、タイム スタンプ: 0xb9f4a0f1
    例外コード: 0xe0434352

    アプリケーション:NavigationDrawerPopUpMenu2.exe
    フレームワークのバージョン:v4.0.30319
    説明: ハンドルされない例外のため、プロセスが中止されました。

    障害バケット 2188166765978474550、種類 5
    イベント名: CLR20r3
    応答: 使用不可
    Cab ID: 0

    問題の署名:
    P1: NavigationDrawerPopUpMenu2.exe
    P2: 1.0.0.0
    P3: 5c9795a7
    P4: mscorlib
    P5: 4.7.3362.0
    P6: 5c2fce36
    P7: 42b9
    P8: a4
    P9: System.Windows.Markup.XamlParse
    P10:

    添付ファイル:
    \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WEREBF7.tmp.mdmp
    \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WEREDEC.tmp.WERInternalMetadata.xml
    \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WEREDFD.tmp.xml
    \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WEREE0C.tmp.csv
    \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WEREE4C.tmp.txt

    これらのファイルは次の場所にある可能性があります:
    C:\ProgramData\Microsoft\Windows\WER\ReportArchive\AppCrash_NavigationDrawer_1495df7d47eae8d35561267674dd3e4d9505d5_2aeaa015_43d5f185

    分析記号:
    解決策を再確認中: 0
    レポート ID: b33f03d6-d477-4f96-baf4-e04731f30936
    レポートの状態: 268435456
    ハッシュされたバケット: 5c74216dba84f5751e5dee148b765836
    Cab GUID: 0

    このようにイベントハンドラーでは表示されていました。

    VisualStudio上では何も問題なく起動することができます。

    visualstudioにおいてプラットフォーム(any ,cpu x64)を変更、releaseモードとdebugモードでビルドしましたが、

    同様にディレクトリへ移動してクリックしてもwindowが表示されません。

    あと、他のwpfアプリケーションはvisualstudioでもディレクトリへ移動してクリックしても通常通り起動します。

    上の2つのアプリケーションを通常通り起動しようとしているのですが、お手上げ状態です。

    回答お願いします。




    2019年3月24日 15:40

回答

  • gekka さんも書かれていますが、FileNotFoundException という例外が出ている以上、必要な DLL が見つからない状態であると考えた方が良さそうです。

    なお、実行ファイルは bin\Release フォルダー(デバッグビルドは bin\Debug フォルダー)が生成結果のフォルダーとなります。
    obj\Debug  や obj\Release には生成途上のファイルが一時的に配置されているだけなので、ここから実行すると必要な DLL が足りないという例外(FileNotFoundException)となります、念のため。

    2019年3月24日 22:06
    モデレータ

すべての返信

  • 「ディレクトリへ移動して」と書いてますが具体的にどこなんでしょう?
    そしてそのディレクトリにファイルは何があるのでしょう?

    実行ファイルから参照可能な場所にMaterialDesignのdllがいくつか必要なはずですが、それらはきちんと存在してますか?


    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)

    2019年3月24日 18:21
  • gekka さんも書かれていますが、FileNotFoundException という例外が出ている以上、必要な DLL が見つからない状態であると考えた方が良さそうです。

    なお、実行ファイルは bin\Release フォルダー(デバッグビルドは bin\Debug フォルダー)が生成結果のフォルダーとなります。
    obj\Debug  や obj\Release には生成途上のファイルが一時的に配置されているだけなので、ここから実行すると必要な DLL が足りないという例外(FileNotFoundException)となります、念のため。

    2019年3月24日 22:06
    モデレータ
  • 回答ありがとうございます。azuleanさんやgekkaさんがいったとおり、

    上の2つのアプリの

    obj配下にある実行ファイルを実行していました。

    bin配下であれば実行できました。

    試しにobj配下にbinフォルダにあった

    MaterialDesignThemes.Wpf.dllとMaterialDesignColors.dllを貼り付ければ、

    同様に

    objにある実行ファイルも起動することができました。

    回答ありがとうございました。

    2019年3月25日 2:31