HRESULT 异常:0x80004004 (E_ABORT)

我正在使用 c# 处理 VSTO Outlook AddIn 项目,并尝试使用以下方法在 Outlook 中添加 DocumentItem -


    protected void CreateWordDocument(string strPhysicalFilePath, Outlook.Folder ParentFolder)

    {


        Outlook.DocumentItem objDocItem = null;

        Outlook.Attachment objAtt = null;


        try

        {



            objDocItem = ParentFolder.Items.Add("IPM.Document");

            objAtt = objDocItem.Attachments.Add(strPhysicalFilePath, );


            objDocItem.Subject = objAtt.FileName;


            string strFileType = Path.GetExtension(strPhysicalFilePath, );


            switch (strFileType)

            {

                case ".doc":

                case ".docx":

                    objDocItem.MessageClass = "IPM.Document.Word.Document.8"; break;

                case ".xls":

                case ".xlsx":

                    objDocItem.MessageClass = "IPM.Document.Excel.Sheet.8"; break;

                case ".pps":

                case ".ppt":

                case ".pptx":

                    objDocItem.MessageClass = "IPM.Document.PowerPoint.Show.8"; break;

                case ".txt":

                    objDocItem.MessageClass = "IPM.document.txtfile"; break;

            }


            objDocItem.Save();


        }

        catch (Exception ex)

        {

            ErrorLog.WriteError("ClassName", "CreateWordDocument()", ex.Message);               

        }

        finally

        {

            if (objDocItem != null) Marshal.ReleaseComObject(objDocItem);

            if (objAtt != null) Marshal.ReleaseComObject(objAtt);               

        }


    }

但在“ objDocItem = ParentFolder.Items.Add("IPM.Document"); 行出现以下错误


VSTO Outlook 插件中的 Outlook.Items.Add() 中的操作中止(来自 HRESULT 的异常:0x80004004 (E_ABORT))。


相同的代码在我的计算机上运行良好,但在另一台计算机上出现此错误。


一只甜甜圈
浏览 815回答 2
2回答

摇曳的蔷薇

我找到了解决方案 - 目标平台 32 位或 64 位存在问题。我在那里遇到异常的机器安装了 64 位 Office,我的 Outlook 添加安装程序是在 32 位平台上构建的。我已经使用 64 位目标平台重新编译并构建了 Outlook 添加设置并安装在该机器上。现在它工作正常。
打开App,查看更多内容
随时随地看视频慕课网APP