«80040154 Класс не зарегистрирован» с Word Interop из C # - PullRequest
1 голос
/ 25 января 2012
try
{
    if (lblCVName.Text != "")
    {
        object fileName = Convert.ToString(Server.MapPath("~/UploadResume")) + "\\" + lblCVName.Text;
        string ext = Path.GetExtension(Convert.ToString(fileName));
        ext = ext.ToLower();
        if (ext == ".doc" || ext == ".docx" || ext == ".rtf")
        {
            object readOnly = true;
            object isVisible = true;
            object missing = System.Reflection.Missing.Value;
            Application app = new Microsoft.Office.Interop.Word.Application();
            Document doc = app.Documents.Open(ref fileName,
                                        ref missing, ref readOnly,
                                        ref missing, ref missing, ref missing,
                                        ref missing, ref missing, ref missing,
                                        ref missing, ref missing, ref isVisible,
                                        ref missing, ref missing, ref missing);
            doc.Activate();
            doc.FreezeLayout();
            doc.WebPagePreview();
        }
        else
        {
            Response.Clear();
            string filePath = Convert.ToString(fileName);
            Response.ContentType = "application/pdf";
            Response.WriteFile(filePath);
        }
    }
}
catch (Exception exx)
{
    Common.SendErrorReportToAdmin(exx.ToString(), "ucViewProfile.ascx"); Response.RedirectToRoute("Error", false);
}

Я использую XML-преобразование на сервере по этой ссылке http://www.microsoft.com/download/en/details.aspx?id=17985#additional-information

, но получаю сообщение об ошибке:

"Получение фабрики классов COM для компонента с CLSID{000209FF-0000-0000-C000-000000000046} не удалось из-за следующей ошибки: 80040154 Класс не зарегистрирован (исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)). "

...