VSTO加载项在Office SP3中可用,但不在SP2中

时间:2012-05-30 20:40:51

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

我开发了一个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互操作库。任何人都可以证实我的怀疑,或者至少让我指出正确的方向吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

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

理想情况下,您可以在具有此错误的同一台计算机上获取VS.NET调试工具,以便在发生之前将其附加到流程以确定源位置。

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