我开发了一个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
互操作库。任何人都可以证实我的怀疑,或者至少让我指出正确的方向吗?
谢谢!
答案 0 :(得分:1)
此消息告诉您访问已被丢弃的COM实例的代码存在问题(通过Marshal.ReleaseComObject
或Marshal.FinalReleaseComObject
)。您应该引入 try / catch语句来捕获/记录代码的哪个部分触发此条件,以便您可以解决它。
理想情况下,您可以在具有此错误的同一台计算机上获取VS.NET调试工具,以便在发生之前将其附加到流程以确定源位置。
在管理内存方面,Office可能非常挑剔。您可能只需要使用良好的旧试验和错误来捕获哪个部分失败。