void CreateFilesFromTemplate(string projectDirectory, string projectName, Solution solution)
        {
            string projectTemplateName = Parameters["Template"];

            string[] files = Parameters["Files"].Split('|');

            var project = new DummyProject(projectName)
            {
                BaseDirectory = projectDirectory
            };

            FileTemplateProcessor.CreateFilesFromTemplate(project, solution.RootFolder, projectTemplateName, files);
        }
        async Task <DotNetProject> CreateProject(Solution solution, string projectName)
        {
            string   projectTemplateName = Parameters["Template"];
            FilePath templateDirectory   = FileTemplateProcessor.GetTemplateDirectory(projectTemplateName);
            FilePath templateFileName    = templateDirectory.Combine(projectTemplateName + ".csproj");

            string projectFileName = GenerateNewProjectFileName(solution, projectName);
            var    msbuildProject  = new MSBuildProject();

            msbuildProject.Load(templateFileName);

            UpdatePackageReferenceVersions(msbuildProject);

            string projectDirectory = Path.GetDirectoryName(projectFileName);

            Directory.CreateDirectory(projectDirectory);
            msbuildProject.Save(projectFileName);

            // Create files here so they are loaded from wildcards when the project is loaded.
            CreateFilesFromTemplate(projectDirectory, projectName, solution);

            return(await IdeApp.Services.ProjectService.ReadSolutionItem(new ProgressMonitor(), projectFileName) as DotNetProject);
        }