我在Outlook商店的foreach期间获得了例外
消息:来自HRESULT的异常:0xBBC7007E
System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(的Int32 errorCode,IntPtr errorInfo)at System.Runtime.InteropServices.CustomMarshalers.EnumeratorViewOfEnumVariant.MoveNext()
这里是示例代码:
Microsoft.Office.Interop.Outlook.Application appl = _oApp as Microsoft.Office.Interop.Outlook.Application;
List<string> storeIDs = new List<string>();
foreach (Microsoft.Office.Interop.Outlook.Store s in appl.Session.Stores)
{
storeIDs.Add(s.StoreID);
}
有人可以告诉我这个问题的原因吗?
更新 这是前景的补充。
我改写为使用for
这样:
Microsoft.Office.Interop.Outlook.Application appl = _oApp as Microsoft.Office.Interop.Outlook.Application;
List<string> names = new List<string>();
for (int i = 1; i <= appl.Session.Stores.Count; i++)
{
names.Add(appl.Session.Stores[i].DisplayName);
}
我得到了这个例外
错误讯息:
System.IO.FileNotFoundException:发生意外错误。
MAPI无法加载信息服务IrisMS.DLL。确保已正确安装和配置服务。
at Microsoft.Office.Interop.Outlook._Stores.get_Item(Object Index)