Проблема с чтением файла *.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 или новее. И это все:]

Другие вопросы по тегам