Недостаточно свободной памяти для запуска этой программы, ошибка Outlook MAPI - метод MailItem.SaveAs C # - PullRequest
0 голосов
/ 15 октября 2018

Здравствуйте. Я использую следующий код для загрузки электронного письма, содержащего около 20+ вложений (~ 9 МБ), через Outlook Addin, и получаю следующую ошибку - Недостаточно свободной памяти для запуска этой программы.Закройте одну или несколько программ и повторите попытку.Исключение выдается как метод MailItem.SaveAs для сохранения MSG по локальному временному пути.Я попытался с помощью доступного исправления kb изменить настройки реестра, которые здесь не помогают.

        if (mailItem.Subject != null)
    {
        fileName = Path.GetInvalidFileNameChars().Aggregate(mailItem.Subject, (current, c) => current.Replace(c.ToString(), string.Empty));
    }


    fileName = mailindex + "- " + fileName + ".msg";
    var fullPath = CustomUtility.TrimFilePath(location, fileName);
    emailItemDetails.MsgFileName = Path.GetFileName(fullPath);

    mailItem.SaveAs(fullPath, OlSaveAsType.olMSG);

    int attachmentIndex = 1;
    foreach (Attachment attachment in mailItem.Attachments)
    {
        string attachmentName = mailindex + "-" + string.Format("{0:00}", attachmentIndex) + " " + attachment.FileName;
        var attachmentPath = CustomUtility.TrimFilePath(location, attachmentName);
        attachment.SaveAsFile(attachmentPath);
        attachmentIndex++;
    }

Ниже приведено исключение, которое я вижу в eventvwr.

URI настройки: file: /// C: / Program Files (x86) / Общие файлы / Microsoft Shared / VSTA / Pipeline.v10.0 / PipelineSegments.store Исключение: Манифест чтения исключения из файла: /// C: / Program% 20Files%20 (x86) /Common%20Files/Microsoft%20Shared/VSTA/Pipeline.v10.0/PipelineSegments.store: манифест может быть недействительным или файл не может быть открыт.

************** Exception Text ************** System.Deployment.Application.InvalidDeploymentException: исключение чтения манифеста из файла: /// C: / Program% 20Files% 20(x86) /Common%20Files/Microsoft%20Shared/VSTA/Pipeline.v10.0/PipelineSegments.store: манифест может быть недействительным или файл не может быть открыт.---> System.Xml.XmlException: '', шестнадцатеричное значение 0x01, является недопустимым символом.Строка 1, позиция 1.

Пожалуйста, помогите, если у вас есть какие-либо предложения

...