【问题标题】:VSTO Add-in Works in Office SP3, but not SP2VSTO 加载项适用于 Office SP3,但不适用于 SP2
【发布时间】:2012-06-05 03:19:55
【问题描述】:

我开发了一个 MS Project 插件(VS2010,针对 .Net 4),它在安装了 Office SP3(WinXP,7)的机器上运行良好。但是,当安装在装有 Office SP2 (Win XP) 的计算机上时,加载项加载但几秒钟后变得无响应。

当我在 COM 加载项对话框中切换加载项时(在它停止工作之后),我收到了这个奇怪的消息框:

"Com object that has been seperated from its underlying RCW cannot be used"

我不太确定问题出在哪里,但我怀疑它与 SP2 类似,不支持 Microsoft.Office.Interop.MSProject 12.0 互操作库。谁能证实我的怀疑,或者至少让我指出正确的方向?

谢谢!

【问题讨论】:

  • 解决办法是更新office安装。如果您尝试使用 Office 2007,我也不会针对 4.0。

标签: visual-studio-2010 vsto office-interop ms-project


【解决方案1】:

此消息告诉您代码访问已释放的 COM 实例存在问题(通过Marshal.ReleaseComObjectMarshal.FinalReleaseComObject)。您应该引入 try/catch 语句 来捕获/记录触发此条件的代码部分,以便您解决它。

理想情况下,您可以在出现此错误的同一台机器上安装 VS.NET 调试工具,这样您就可以在它发生之前附加到进程以查明源位置。

Office 在管理内存方面可能非常挑剔。您可能只需要使用良好的旧试验和错误来捕获失败的部分。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-06
    • 1970-01-01
    • 2022-07-01
    • 2020-10-08
    • 2011-04-07
    • 1970-01-01
    相关资源
    最近更新 更多