我使用来自同一个Exchange服务器(即同一个域)的两个Outlook帐户。我们有一个outlook插件,我们用它来将一些电子邮件从outlook存档到外部web应用程序。在编写新邮件时,可以将外部应用程序的某些文件附加到使用加载项组成的邮件。 现在事情工作完美时,我有一个单一的帐户在Outlook中。但是,配置另一个帐户,并试图从附属帐户的做同样的后,后市给出了错误:Outlook API GetItemFromID()失败,并显示错误“无法打开该项目。再试一次。”当使用多个Outlook帐户
Outlook Initiator exception: System.Runtime.InteropServices.COMException (0x80040107): Could not open the item. Try again. at Microsoft.Office.Interop.Outlook.NameSpaceClass.GetItemFromID(String EntryIDItem, Object EntryIDStore)
我试图深入到代码,发现调用GetItemFromID()给出了上述的异常。
object item = ns.GetItemFromID(objectID, storeId);
第一个参数objectID(即EntryIDItem)对于不同的帐户是不同的,但第二个参数storeId是相同的。
我也尝试使用反汇编器来查看方法GetItemFromID()的主体,但该方法被定义为extern方法,这意味着它在当前程序集之外定义为非托管代码。
试图寻找类似于在stackoverflow但没有运气的东西。任何人都可以帮助我吗?
离开第二个可选参数完成了这项工作。在尤金后期看到你的回应。很高兴看到专家提出的相同修复,非常感谢! –