private static void UnregisterSubsystem(SubsystemInfo subsystemInfo, Guid id) { if (subsystemInfo.RequiredCmdlets.Count > 0 || subsystemInfo.RequiredFunctions.Count > 0) { throw new NotSupportedException("NotSupported yet: unregister subsystem that introduced new cmdlets/functions."); } ISubsystem impl = subsystemInfo.UnregisterImplementation(id); if (impl is IDisposable disposable) { disposable.Dispose(); } }
private static void UnregisterSubsystem(SubsystemInfo subsystemInfo, Guid id) { if (subsystemInfo.RequiredCmdlets.Count > 0 || subsystemInfo.RequiredFunctions.Count > 0) { throw new NotSupportedException("NotSupported yet: unregister subsystem that introduced new cmdlets/functions."); } ISubsystem impl = subsystemInfo.UnregisterImplementation(id); if (impl is IDisposable disposable) { try { disposable.Dispose(); } catch { // It's OK to ignore all exceptions when disposing the object. } } }