none
型 'System.BadImageFormatException' エラーがでる。 RRS feed

  • 質問


  • OS:windows 7(64bit)

    visual studio 2012でC#で書かれたプログラムをビルドすると

    型 'System.BadImageFormatException' の初回例外が glib-sharp.dll で発生しました

    追加情報:間違ったフォーマットのプログラムを読み込もうとしました。 (HRESULT からの例外:0x8007000B)

    とエラーがでます。

    考えられうる解決策は全て行いました。
    環境変数の変更C:\Program Files (x86)\GtkSharp\2.12\→C:\Program Files (x86)\GtkSharp\2.12\bin

    64bit版libglib-sharp-2.0-0.dll(名前あってるかは不明)の導入(exeファイルが出来る場所に置いています)

    プラットフォーム、プラットフォームターゲットはx86

    他に何すればいいかわかりません。
    解決策を教えてください。
    宜しくお願いします。

    • 移動 星 睦美 2015年1月26日 4:05 Visual Studio 共通 から
    2015年1月19日 17:05

すべての返信

  • プラットフォームターゲットが x86 なら、x86(32bit)向けのライブラリを使う必要がありますが、それは試していますか?
    2015年1月19日 21:43
    モデレータ
  • 質問者さんが以前に立てたスレッド(下記)と同様な問題で、その時その問題は解決されたんではなかったですか?

    .exeが作成される場所と同じ場所に.dllを配置してもエラーが出る。
    https://social.msdn.microsoft.com/Forums/ja-JP/f911a5a2-3f01-4bd5-8756-58f16e979c08/exedll?forum=vsgeneralja

    違ったら失礼しましたが、その時とは具体的に何が違うのか書いていただけませんか?

    2015年1月20日 0:21
  • こんにちは。
    Windows8.1(64bit) VS2013Communityで試してみました。

    まずGTK#をインストールしC#プロジェクトで以下3つの参照を追加しウインドウ作成しました。

    1. atk-sharp
    2. glib-sharp
    3. gtk-sharp

    System.BadImageFormatExceptionが発生しました。
    プラットフォームターゲットはAnyCPUです。

    プロットフォームターゲットをx86に変更したら動きました。

    GTK#インストール時に環境変数パスは追加されていたので追加してません。
    64bit版のglib-sharp-2.0-0.dllも追加してません。

    GTK使ったことが無かったのでわからないですが…複雑なプログラムだと発生したりするのでしょうか。
    今回は以下のような最低限の画面作成だけでやってみました。

    static void Main(string[] args)
    {
        Application.Init();
    
        Window wndHoge = new Window("hoge");
        Button btnPiyo = new Button("foo");
        wndHoge.Add(btnPiyo);
        wndHoge.SetDefaultSize(200, 50);
        wndHoge.ShowAll();
    
        wndHoge.DeleteEvent += (object sender, DeleteEventArgs e) =>
        {
            Application.Quit();
        };
        btnPiyo.Clicked += (object sender, EventArgs e) =>
        {
            Console.WriteLine("PiyoPiyo...");
        };
        Application.Run();
    }


    2015年1月20日 15:51
    モデレータ
  • 解決しました!

    ありがとうございました!!

    2015年1月26日 3:43
  • 原因は何だったのか、どのように解決したのかを書いていただけませんか?

    ここは質問者さん専用の Q&A スレッドではなくて、開発者・技術者の情報交換の場所と考えていただければ幸いです。

    2015年1月26日 4:22