gpt4 book ai didi

vsto - 如何提高 VSTO2SE MS Office 加载项的冷启动性能?

转载 作者:行者123 更新时间:2023-12-04 09:43:48 25 4
gpt4 key购买 nike

如果您创建一个针对 Microsoft Office Excel 2003 的简单“Hello World”VSTO2SE 加载项,则在冷启动时加载需要 15 秒。在此期间,Excel 完全没有响应。

Excel 2003的冷启动时间总是很差。我见过一台测试机在Excel 2007中启动时间是即时的,但我所有的其他测试机都需要15秒才能初始化。 (测试环境-windows xp pro + VSTO2SE runtime + XP SP3)

如何提高这种性能?

我已经尝试过但没有成功的事情:

  • 禁用 CRL(证书撤销列表)检查 - 这似乎没有帮助,而且我不能指望用户这样做。
  • 使用 NGEN 创建 native 程序集。
    a) 似乎 Office 2003 从不使用 native 程序集。
    b) 我的 office 2007 测试客户端启动速度很快,即使使用 IL 程序集也是如此。
    c) 即使我 NGEN 整个依赖树,仍然存在可能没有 native 镜像的 VSTO 依赖项。
  • 延迟加载加载项 - 这是我从 Microsoft 获得的解决方法“库存响应”。问题是,我的加载项是从菜单项启动的 - 如何延迟加载加载项并仍然获取我的菜单?我可以使用 VB6 插件来绘制菜单并通过互操作转发调用,但是为什么我首先要编写 VSTO 插件?

  • 编辑 - 是的,这是加载项中“连接”事件的唯一行。 (实际上是消息框)。在消息框出现之前需要整整 15 秒。 – J 戴维斯

    最佳答案

    您将在冷启动时受到打击,因为它必须第一次加载所有程序集。

    如果热启动明显更快,那么您唯一真正的选择是

    1) 在 Windows 启动时有一个单独的程序加载,并在后台为您的插件加载所有程序集。

    2) 尽量减少您使用的程序集数量。当然,您不应该在 Hello World 中使用太多。

    3) Excel 启动时预加载所有内容。这会影响 Excel 的启动时间,但会使您的菜单选择更快。您还可以在后台预加载所有内容,以帮助实现这一点。

    关于vsto - 如何提高 VSTO2SE MS Office 加载项的冷启动性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/248427/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com