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); }