/// <summary> /// Disposes the plugin loader. This only does something if <see cref="IsUnloadable" /> is true. /// When true, this will unload assemblies which which were loaded during the lifetime /// of the plugin. /// </summary> public void Dispose() { if (_disposed) { return; } _disposed = true; #if FEATURE_UNLOAD if (_fileWatcher != null) { _fileWatcher.EnableRaisingEvents = false; _fileWatcher.Changed -= OnFileChanged; _fileWatcher.Dispose(); } _debouncer?.Dispose(); if (_context.IsCollectible) { _context.Unload(); } #endif }