1

私は、Office SP3がインストールされているマシン(WinXP、7)でうまく機能するMS Projectアドイン(VS2010、.Net 4を対象)を開発しました。ただし、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相互運用ライブラリをサポートしていないのではないかと思います。誰かが私の疑いを確認できますか、または少なくとも私を正しい方向に向けさせることができますか?

ありがとうございました!

4

1 に答える 1

1

Marshal.ReleaseComObjectこのメッセージは、(またはを介して)破棄されたCOMインスタンスにアクセスするコードに問題があることを示していますMarshal.FinalReleaseComObject。解決できるように、コードのどのセクションがこの状態をトリガーしているかをキャプチャ/ログに記録するために、try/catchステートメントを導入する必要があります。

理想的には、このエラーが発生した同じマシンでVS.NETデバッグツールを入手して、発生する前にプロセスに接続してソースの場所を特定できるようにすることができます。

メモリの管理に関しては、Officeは非常に扱いにくい場合があります。どのセクションが失敗しているかをトラップするには、古き良き試行錯誤を使用する必要があるかもしれません。

于 2012-05-31T15:53:56.810 に答える