【发布时间】:2014-12-21 18:05:04
【问题描述】:
此插件的代码可用here。演示这些行为的视频列在本说明的正文中。为方便起见,这里是两个链接 Bug WorkAround
我一直在尝试使用 Visual Studio 2013 为 Outlook 2010 和 2013 编写插件,但是我遇到了一个非常奇怪的错误。这些是重现这个在 Outlook 中安装插件时发生的令人难以置信的错误的步骤。平台是 Windows 7 Enterprise 上的 Outlook 2010
- 双击电子邮件并在新窗口中打开它(检查员 窗口)
- 在 Windows 的任务栏中,您现在会注意到一个分层的 Outlook 的图标。在鼠标悬停时,Windows 会显示主要 Outlook 窗口和打开的电子邮件(如果在 Aero 主题中呈现) 已启用)
- 只需返回并关闭最大化的电子邮件。
- Windows 任务栏仍然显示两个分层图标,但现在如果您将鼠标悬停在上面 电子邮件窗口什么也没有显示。它就像一个幽灵般的东西 没有清理干净。
我能证明这一点的最好方法是录制一个小视频,该视频可在here 获得
然而,这并不是故事的结局。它变得更好和有趣。现在执行此操作。
- 重启 Outlook
- 像之前一样再次最大化电子邮件。
- 将鼠标悬停在任务栏中的图标上,可以将两层窗口的东西带到上面。您也可以从这里关闭最大化的窗口。继续做吧。
- 这一次您可以看到电子邮件的窗口已经消失了!任务栏现在显示一个 Outlook 图标。
为了说明这种行为,我录制了另一个视频,here 提供。
关于这种行为的几点注意事项
- 这仅在 Outlook 2010 上发生。在 Outlook 2013 中不会出现此行为。
-
我已将其缩小到一行代码。在 OutlookExplorerWrapper 中,如果注释了以下行,则该行为将从 Outlook 2010 中消失
var s = mail.Body;
基本上简单地访问 MailItem 对象的 Body 属性会导致这种行为。我已将 Body 与 RTFBody 交换,这再次使错误消失。
我真的在我的智慧到此为止。非常感谢任何帮助!
【问题讨论】:
标签: c# vsto outlook-2010