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