/// <summary> /// Disposes the instance. /// </summary> /// <param name="disposing">True if the object is disposing or false if it is finalizing.</param> protected virtual void Dispose(bool disposing) { if (!_disposed) { if (disposing) { _entryPointScript.Dispose(); EnsureFileSystemWatcherIsDisposed(); } // Make sure the Node process is finished // TODO: Is there a more graceful way to end it? Or does this still let it perform any cleanup? if (!_nodeProcess.HasExited) { _nodeProcess.Kill(); } _disposed = true; } }