【问题标题】:Outlook Add-In disabled because too slowOutlook 加载项因太慢而被禁用
【发布时间】:2019-07-11 19:04:19
【问题描述】:

我正在使用 C# 为 Outlook 开发一个简单的加载项。现在,当我在测试版本时,突然 Outlook 会打印一条错误消息并禁用我的加载项:

This add-in caused Outlook to start slowly. (1.594 seconds)

我不确定是什么原因造成的。我所做的Onload 就是这些:

功能区按钮
我正在使用一个功能区按钮,我在我的插件中初始化如下:

protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject()
    {
      return new MyRibbonButton();
    }

功能区按钮构造函数
功能区按钮初始化一个对象。所以还没有什么特别的。

public MyRibbonButton()
{
    this.guiSettings = new AppSettingsManager(root.localmachine, "GUI", false);
}

...

public AppSettingsManager(root type, string subpath, bool writable)
{
    if (subpath != "")
    {
        this.PATH += @"\" + subpath;
    }
    this.type = type;
    this.writable = writable;
}

图标
在同一个MyRibbonButton 类中,我根据注册表中的值声明要用于按钮的图标。

public Bitmap imageSuper_GetNotifyImage(IRibbonControl control)
{
    switch (guiSettings.GetValueInt32("Icon", 1))
    {
        case 1:
            return Properties.Resources.icon1;
        case 2:
            return Properties.Resources.icon2;
        case 3:
            return Properties.Resources.icon3;
        default:
            return Properties.Resources.icon1;
    }

}

如您所见,除了最后一部分中的注册表读取之外,我没有做任何特别的事情。您认为这会导致 Outlook 启动缓慢吗?如果是这样,我该如何优化它。

【问题讨论】:

  • 我有一个插件,几乎和你的一样简单,我也遇到了同样的问题。我的只是为 3 个事件添加了侦听器。我放弃并恢复为宏
  • @BugFinder 如果您发现了什么,请告诉我。你知道如何解决这个问题吗?
  • 我得出的结论是,根据前景,提供的整个 .net 框架中的某些东西已经使它“变慢”了。当我这样做是为了让我的生活更轻松,但事实证明它是什么,但是,我放弃了这个想法。
  • @BugFinder 听到这个消息很难过。不幸的是,我必须坚持使用加载项。看来我必须找到解决方法。

标签: c# outlook outlook-addin add-in


【解决方案1】:

您因加载 .Net 系统而受到处罚。曾经有一个“预热”注册表项,可用于强制 Outlook 加载正确版本的 .Net 运行时而不会受到惩罚,但该键不再起作用。

我能够解决这个问题的唯一方法是在 Delphi 中创建一个存根插件(如果不是更好的话,C++ 也可以工作),它什么都不做,只是被 Outlook 加载(大约 20 毫秒)并启动一个计时器.当计时器触发时(Outlook 将处于空闲状态并且不监视插件),它将使用 IManagedAddin 接口加载从属 .Net 插件。

【讨论】:

  • 这是您在博客上发布/分享的内容,还是愿意分享的内容?听起来会很有帮助
  • 没有什么我可以分享的——它是商业产品的一部分。对不起。
  • 不用担心,谢谢。永远感谢您在这里分享知识!
猜你喜欢
  • 1970-01-01
  • 2017-03-10
  • 2012-07-06
  • 1970-01-01
  • 2023-03-17
  • 1970-01-01
  • 2016-04-07
  • 2021-05-30
  • 2021-09-02
相关资源
最近更新 更多