public void VisitBuildCommand(BuildOptions options) { FileInfo[] installPackages = null; DTE dte = null; bool attachDebugger = false; DotNetNukeWebAppInfo dnnWebsite = null; Success = BuildProjectAndGetOutputZips(options, out installPackages, out dte); attachDebugger = options.Attach; dnnWebsite = GetDotNetNukeWebsiteInfo(options.WebsiteName); if (installPackages != null && installPackages.Any()) { Success = DeployToIISWebsite(installPackages, dnnWebsite); } else { // no packages to install. // log warning? _Logger.LogInfo("No packages to install."); Success = true; } if (!Success) { return; } if (dte != null && attachDebugger) { _Logger.LogInfo("Hooking up your debugger!"); var processId = dnnWebsite.GetWorkerProcessId(); if (!processId.HasValue) { _Logger.LogInfo("Unable to find running worker process. Is your website running!?"); return; } ProcessExtensions.Attach(processId.Value, dte, _Logger.LogInfo); } }