2013-03-03 1 views
2

Я использую VS 2012 Express для Windows Desktop.Ошибка COMException при попытке загрузить файл PDF с помощью элемента управления ActiveX в C#

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

Я использую элемент управления ActiveX Acrobat Reader; с тем, что упало в форму. И я пытаюсь загрузить файл PDF. Но я получаю сообщение об ошибке ниже:

Необработанное исключение типа «System.Runtime.InteropServices.COMException» произошло в System.Windows.Forms.dll

Дополнительная информация: Класс не зарегистрирован (Исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))

+0

Есть сотни вопросов об этом коде ошибки уже , Введите «0x80040154» в поле поиска в правом верхнем углу этой страницы. –

ответ

2

возможно ли, что вы строите «x64» цель ИЛИ «Любой процессор» на 64-битной Windows? Согласно этой статье Using Adobe Reader in a WPF app Acrobat DLL 32 бит, поэтому он должен работать в 32-битной сборке «x86».

Цитата из статьи: «Кроме того, поскольку в настоящее время не версия x64 в Acrobat DLL имеет смысл для того, чтобы целевая платформа установлена ​​на x86 (это на вкладке сборки свойств проекта), в противном случае возникает ошибка в строке {«Класс, не зарегистрированный (исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))»} - довольно загадочный, если вы спросите меня! »

Смежные вопросы