这是我的终结代码:
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 ++对象的析构函数不能完全执行。当程序到达某一行时,它会中止而不会抛出异常或在输出窗口中显示错误消息。这部分代码没有任何问题。有时候有问题的地方会换一两行。