Пример #1
0
        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);
            }
        }