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”?根据这篇文章在 WPF 应用程序中使用 Adob​​e Reader, Acrobat DLL 是 32 位的,因此必须在“x86”32 位版本中运行。

引用文章:“此外,由于当前没有 x64 版本的 Acrobat DLL,因此明智的做法是确保将目标平台设置为 x86(位于项目属性的构建选项卡上),否则会出现错误{"Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))"} 将会发生——如果你问我,那就太神秘了!”</p>

于 2013-03-03T10:18:42.360 回答