В приложение WinForms се осъществява достъп до основната папка на Microsoft Outlook, за да се получат подпапките за специфичния профил (w.r.t PST файл). По-долу е кодът, който се използва за получаване на основната папка от пространството на имената на Outlook.
Microsoft.Office.Interop.Outlook.Application appOutlook = new Microsoft.Office.Interop.Outlook.Application();
appOutlook.Session.AddStore(sPSTFilePath);
Microsoft.Office.Interop.Outlook.NameSpace nsOutlook = appOutlook.GetNamespace("MAPI");
string sSelectedPSTFileName = Path.GetFileNameWithoutExtension(sPSTFilePath);
MAPIFolder rootFolder = nsOutlook.Stores[sSelectedPSTFileName].GetRootFolder();
Работи добре, но при някои PST файлове хвърля изключение, когато става въпрос за получаване на основна папка от пространството на имената на Outlook с име на PST файл на:
MAPIFolder rootFolder = nsOutlook.Stores[sSelectedPSTFileName].GetRootFolder();
Изключение: Опитът за операция е неуспешен. Обект не може да бъде намерен.
Заредих този PST файл в MS Outlook, той работи добре. Но когато имам достъп до този файл от кода, той показва изключение.
Има ли някакъв начин да се установи, че PST файлът е повреден или не? Помощта в това отношение ще бъде оценена.