Проблема с чтением файла *.msg outlook с использованием Microsoft.Office.Interop.Outlook
Я пишу фрагмент кода, который будет обрабатывать извлечение информации из электронной почты, хранящейся в *msg файле Outlook. Идею, как это сделать, я взял из взаимодействия C# Outlook и OpenSharedItem для открытия файлов MSG. Но при вызове метода OpenSharedItem возникает такая ошибка System.AccessViolationException
, Кто-нибудь знает в чем проблема?
Вот код, вызывающий ошибку
Outlook._Application app = new Outlook.Application();
Outlook.NameSpace NS = app.GetNamespace("MAPI");
Outlook.MAPIFolder inboxFld = NS.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);
Outlook.MailItem fld = (Outlook.MailItem) app.Session.OpenSharedItem("E://Projects//C#//message1.msg");
1 ответ
Решение
Хорошо. В случае, если кто-то столкнется с той же проблемой, наконец, у меня есть ответ. Прежде всего должно быть
Outlook.MailItem fld = (Outlook.MailItem) app.Session.OpenSharedItem("E:\\Projects\\C#\\message1.msg");
Разница в слешах.
Тогда все, что вам нужно, чтобы это работало, это Outlook 2007 или новее. И это все:]