public virtual void Start() { _iisProvider.StopServer(); _securityProvider.MakeAccessible(); if (_securityProvider.IsCurrentUserAdmin()) { var tempFiles = Path.Combine(RuntimeEnvironment.GetRuntimeDirectory(), "Temporary ASP.NET Files"); logger.Debug("Creating Temporary ASP.Net folder: {0}", tempFiles); _diskProvider.CreateDirectory(tempFiles); } _iisProvider.StartServer(); //Todo: verify that IIS is actually started _debuggerProvider.Attach(); if (_environmentProvider.IsUserInteractive && _configFileProvider.LaunchBrowser) { try { logger.Info("Starting default browser. {0}", _iisProvider.AppUrl); _processProvider.Start(_iisProvider.AppUrl); } catch (Exception e) { logger.ErrorException("Failed to open URL in default browser.", e); } } _monitoringProvider.Start(); }