有没有办法在应用程序崩溃时释放COM对象?
我有以下代码:

  public class Application
    : IDisposable
  {
    private bool disposed = false;
    private object realApplication;

    public void Dispose()
    {
      Dispose(true);
    }

    private void Dispose(bool disposing)
    {
      if (!disposed) {
        if (realApplication!=null) {
          Marshal.ReleaseComObject(realApplication);
          realApplication = null;
        }
        disposed = true;
      }
      GC.SuppressFinalize(this);
    }

    ...


    ~Application()
    {
      Dispose(false);
    }
}

但它只在正常应用程序关闭时释放COM对象。

最佳答案

尝试使您的Application类继承CriticalFinalizerObject

10-04 19:28