C# 刷新Outlook邮件项目

C# 刷新Outlook邮件项目,c#,.net,windows,outlook,netoffice,C#,.net,Windows,Outlook,Netoffice,我已经使用创建了一个Outlook加载项,它的功能与预期完全相同:查找具有损坏的src属性的内联图像(src=“cid:somecontent@id)并尝试将其修复为指向正确的附件。这是因为从外部源,这些属性会被弄乱,附件的CID也会被弄乱。但这里没有问题。问题是,在将更改保存到MailItem后,检查器不会刷新其视图。这些更改只有在我重新启动Outlook后才会反映出来,这绝对是不可接受的 我的问题是:如何强制Outlook刷新当前邮件项目的视图 从其他Internet资源中可以找到,Outl

我已经使用创建了一个Outlook加载项,它的功能与预期完全相同:查找具有损坏的src属性的内联图像(src=“cid:somecontent@id)并尝试将其修复为指向正确的附件。这是因为从外部源,这些属性会被弄乱,附件的CID也会被弄乱。但这里没有问题。问题是,在将更改保存到MailItem后,检查器不会刷新其视图。这些更改只有在我重新启动Outlook后才会反映出来,这绝对是不可接受的

我的问题是:如何强制Outlook刷新当前邮件项目的视图

从其他Internet资源中可以找到,Outlook缓存了该邮件项,并且因为CID是使用扩展属性设置的,所以它不知道需要刷新


不知道要发布哪些代码位,因为代码可以很好地实现其预期目的。这只是一个令人耳目一新的问题。

这是一个已知的问题。在重新打开项目/检查器并释放对对象的所有引用之前(重新打开之前),Outlook不会传播通过对象模型所做的更改

由于您需要关闭Outlook,因此不会立即释放所有底层COM对象。通常,您需要关闭inspector窗口并释放所有引用(有时可能会更改资源管理器窗口中的选定项)

用于在使用完Outlook对象后释放该对象。在Visual Basic中将变量设置为Nothing(在C#中为null)以释放对对象的引用。有关更多信息,请参阅