2

Windows デスクトップに VS 2012 Express を使用しています。

private void button1_Click(object sender, EventArgs e)
{
    DialogResult result = openFileDialog1.ShowDialog();
    if (result == DialogResult.OK)
    {
        axAcroPDF1.LoadFile(openFileDialog1.FileName);
    }
}

私は Acrobat Reader ActiveX コントロールを使用しています。それをフォームに落とし込みました。そして、PDFファイルを読み込もうとしています。しかし、私は以下のエラーメッセージを受け取っています:

System.Windows.Forms.dll で、タイプ 'System.Runtime.InteropServices.COMException' の未処理の例外が発生しました

追加情報: クラスが登録されていません (HRESULT からの例外: 0x80040154 (REGDB_E_CLASSNOTREG))

4

1 に答える 1

3

64 ビット Windows で「x64」ターゲットまたは「任意の CPU」をビルドしている可能性はありますか? この記事Using Adob​​e Reader in a WPF appによると、Acrobat DLL は 32 ビットであるため、「x86」32 ビット ビルドで実行する必要があります。

記事からの引用: 「現在、Acrobat DLL の x64 バージョンがないため、ターゲット プラットフォームが x86 に設定されていることを確認するのが賢明です (これはプロジェクト プロパティの [ビルド] タブにあります)。そうしないと、行に沿ってエラーが発生します。 {"クラスが登録されていません (HRESULT からの例外: 0x80040154 (REGDB_E_CLASSNOTREG))"} が発生します。

于 2013-03-03T10:18:42.360 に答える