public IReportStatus Execute(ServerConfig server, IReportStatus status, ConDepOptions conDepOptions) { WebDeployOptions options = null; try { Logger.LogSectionStart(_provider.GetType().Name); _webDeploy.Sync(_provider, server, _provider.ContinueOnError, status, OnWebDeployTraceMessage); } catch (Exception ex) { HandleSyncException(status, ex); } finally { Logger.LogSectionEnd(_provider.GetType().Name); if (options != null && options.DestBaseOptions != null) { options.DestBaseOptions.Trace -= OnWebDeployTraceMessage; } if (options != null && options.SourceBaseOptions != null) { options.SourceBaseOptions.Trace -= OnWebDeployTraceMessage; } } return(status); }