public async Task <Unit> Handle(RazorAddProjectParams request, CancellationToken cancellationToken)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            await Task.Factory.StartNew(
                () => _projectService.AddProject(request.FilePath),
                CancellationToken.None,
                TaskCreationOptions.None,
                _foregroundDispatcher.ForegroundScheduler);

            return(Unit.Value);
        }
        public async Task <Unit> Handle(RazorAddProjectParams request, CancellationToken cancellationToken)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            if (!_configurationResolver.TryResolve(request.ConfigurationName, out var razorConfiguration))
            {
                razorConfiguration = _configurationResolver.Default;
                _logger.LogInformation($"Could not resolve Razor configuration '{request.ConfigurationName}'. Falling back to default configuration '{razorConfiguration.ConfigurationName}'.");
            }

            await Task.Factory.StartNew(
                () => _projectService.AddProject(request.FilePath, razorConfiguration),
                CancellationToken.None,
                TaskCreationOptions.None,
                _foregroundDispatcher.ForegroundScheduler);

            return(Unit.Value);
        }