在我的应用程序中,我存储了不同的文件夹 EntryID(电子邮件、联系人...),以便稍后选择它们。问题是,有时我会收到 COMException:
客户端操作失败。(在 Microsoft.Office.Interop.Outlook.NameSpaceClass.GetFolderFromID(字符串 EntryIDFolder,对象 EntryIDStore))
更新:我在同一操作中收到另一条错误消息(未修改代码)
消息接口返回未知错误。如果问题仍然存在,请重新启动 Outlook
我的代码如下所示:
outlookApp.Session.GetFolderFromID(searchFolder);
OutlookApp 是这样定义和声明的:
private ApplicationClass outlookApp;
try
{
outlookApp = new Microsoft.Office.Interop.Outlook.ApplicationClass();
}
catch (System.Exception)
{
try
{
outlookApp = Activator.CreateInstance(Type.GetTypeFromProgID("Outlook.Application")) as Microsoft.Office.Interop.Outlook.ApplicationClass;
}
catch (System.Exception)
{
outlookApp = System.Runtime.InteropServices.Marshal.GetActiveObject("Outlook.Application") as Microsoft.Office.Interop.Outlook.ApplicationClass;
}
}
我的建议是,这以某种方式连接到共享文件夹,但我无法定期重现该错误。Outlook 处于缓存模式。Exchange 在日历上抛出了很多同步错误,但我没有处理它们。我无法使用用户邮箱在测试虚拟机上重现该错误。我尝试使用办公室的内部工具进行修复(它发现错误),但这也没有解决任何问题。