视觉工作室Word Addin用了超过15秒来关闭单词

时间:2014-12-04 08:18:41

标签: c# visual-studio visual-studio-2012 vsto office-addins

我使用visual studio 2012开发了Word插件.net框架是4.5。它工作正常。唯一的问题是当用户关闭word文件时,单击“x”后关闭单词大约需要15秒。

它立即在我的机器上关闭。我的机器配置如下: - .Net框架4.5.2。 - VSTo 10.0.50903和 - 操作系统是Windows 7 64位。

虽然客户端机器需要时间才能关闭(15秒或更长时间)。客户端具有以下配置。 - 用于office运行时x64版本的Visual Studio 2010工具为10.0.50325.00 - Citrix Server的操作系统,用于访问word。 Windows server 2008 R2企业版SP1 64位 - .Net Framework版本? 4.5.2

他们没有安装任何其他插件。

谢谢!

3 个答案:

答案 0 :(得分:0)

尝试拦截OnFormClosing事件并执行以下操作

protected override void OnFormClosing(FormClosingEventArgs e)
{
   yourWordObject.Quit();
   System.Runtime.InteropServices.Marshal.FinalReleaseComObject(yourWordObject);
   base.OnFormClosing(e);

}

答案 1 :(得分:0)

您是否尝试删除normal.dot文件(如果需要,请不要忘记将其复制到某处以进行恢复)?

您是否尝试创建日志文件以查看有问题的PC上会发生什么?

还要确保立即释放代码中的所有基础COM对象。完成使用后,使用 System.Runtime.InteropServices.Marshal.ReleaseComObject 释放Word对象。然后在Visual Basic中将变量设置为Nothing(C#中为null)以释放对该对象的引用。您可以在Systematically Releasing Objects文章中详细了解相关内容。它与Outlook有关,但相同的原则可以应用于所有Office应用程序。

答案 2 :(得分:0)

这可能是使用ElementHost的问题。据推测,它已于2014年4月10日发布的VSTO 2010运行时修复。请参阅this link(标题为Windows 8,但我不认为该部分是相关的)。