这个插件导致前景开始缓慢

时间:2014-03-19 13:26:46

标签: c# outlook vsto add-in

我正在使用C#.NET 4.5开发Outlook Addin项目 但是在部署之后,有时outlook会禁用我的插件,并显示此消息。 “这个插件导致前景开始缓慢”“我不知道我的插件有什么问题。 这只有几个代码,ThisAddIn_Startup在这个项目中是空的。 这是代码......

   public partial class ThisAddIn
   {
   private void ThisAddIn_Startup(object sender, System.EventArgs e)
   {

   }

   private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
   {
   }
   protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject()
   {
       return new Ribbon1();
   }


   #region VSTO generated code

   /// <summary>
   /// Required method for Designer support - do not modify
   /// the contents of this method with the code editor.
   /// </summary>
   private void InternalStartup()
   {
       this.Startup += new System.EventHandler(ThisAddIn_Startup);
       this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
   }

   #endregion
   }


   <?xml version="1.0" encoding="UTF-8"?>
  <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui"         önLoad="Ribbon_Load">
   <contextMenus>
   <contextMenu idMso="ContextMenuContactItem">
     <menuSeparator id="mniMailItemMenuSeparator" />
     <button id="customButton"
            label="Call using Software"   insertBeforeQ="Copy"
          imageMso="Call"
           önAction="OnMyButtonClick" />

    </contextMenu>
   <contextMenu idMso="ContextMenuMailItem">
     <menuSeparator id="mailmenusep1" />
     <button id="mailbutton" insertBeforeQ="Copy"
          label="Call using Software"

         imageMso="Call"
           önAction="MailItemCallNumbers"   />

   </contextMenu>
  </contextMenus>

 </customUI>

4 个答案:

答案 0 :(得分:7)

从Outlook 2013开始,Microsoft为加载项引入了新的性能标准。有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/office/jj228679.aspx#ol15WhatsNew_AddinDisabling

在您的情况下,Outlook正在加载.Net框架,并将成本视为加载项的一部分。本机COM加载项的加载速度往往比.Net加载项快。

正如文章指出的那样(在#34;系统管理员控制加载项&#34;部分中,有一个组策略设置允许您指定始终启用哪些加载项,始终禁用(阻止) ),或由用户配置。

虽然不推荐,但是当&#34;始终启用此加载项&#34;选中(as described here),您可以直接将您的加载项添加到以下注册表项。

HKCU\Software\Microsoft\Office\15.0\Outlook\Resiliency\DoNotDisableAddinList

要提高基于VTSO的加载项的性能,请参阅Performance Improvements Coming Soon to a Service Pack Near You

要更改加载加载项的时间,请参阅Delay-loading the CLR in Office Add-ins

答案 1 :(得分:4)

如果您在调试模式下构建加载项并将调试器附加到它,则可能会在空项目上发生这种情况。将所有符号文件加载到调试器中所需的额外时间可能需要比Outlook预期的“稳定”插件初始化所需的时间更长。

除非在未附加调试器的发布版本中发生,否则您不应该担心这一点。在开发过程中,您可以简单地告诉outlook永远不要禁用您的插件。

答案 2 :(得分:1)

尝试延迟加载你的插件。尝试将“加载行为”设置为8或9以进行按需加载。

查看此内容以获取更多信息 http://blogs.msdn.com/b/andreww/archive/2008/04/19/delay-loading-the-clr-in-office-add-ins.aspx

答案 3 :(得分:0)

我知道这是一篇较老的帖子,但我在网上找到了帮助我的东西。

你的帖子说“这个插件导致前景开始慢慢我不知道我的插件有什么问题。”我发现如果添加一个特定的环境变量,将会出现更强大的消息。

从“开始”菜单中,右键单击“计算机” - &gt;属性 - &gt;高级系统设置 - &gt;单击“环境变量”按钮。单击名为System Variables的底部窗格下的New按钮,然后添加以下内容。输入变量值为0(零)的“VSTO_SUPPRESSDISPLAYALERTS”。应该是这样的。

enter image description here

现在重新打开你的加载项附加的应用程序,对我来说它是Outlook。当加载项启动时,错误消息现在应显示为“详细信息”按钮,单击并阅读“异常”。对我来说,它看起来像这样。

enter image description here