Marshal.ReleaseComObject意外中止

时间:2011-02-16 14:48:16

标签: c# com release

这是我的终结代码:

    private void Dispose(bool disposing)
    {
        if (this.disposed) return;

        Disposing = true;

        if (service == null) return;

        service.Shutdown();

        Marshal.ReleaseComObject(service);
        service = null;

        disposed = true;
    }

Com对象是用C ++编写的动态链接库。从某些未知的原因来看,C ++对象的析构函数不能完全执行。当程序到达某一行时,它会中止而不会抛出异常或在输出窗口中显示错误消息。这部分代码没有任何问题。有时候有问题的地方会换一两行。

0 个答案:

没有答案