private FileInfo CreateProjectFile(DirectoryInfo root, SolutionModel model)
        {
            string projectRoot   = string.Format("{0}/{1}/", root.FullName, model.ProjectName);
            var    directoryInfo = new DirectoryInfo(projectRoot);

            if (!directoryInfo.Exists)
            {
                directoryInfo.Create();
            }

            var projectModel = new ProjectModel(model.TestProjectGuid)
            {
                ProjectAssemblyName  = model.ProjectAssemblyName,
                ProjectName          = model.ProjectName,
                ProjectRootNameSpace = model.ProjectRootNameSpace,
                TargetFramework      = model.TargetFramework,
                ReleaseOutputPath    = string.Format("../../output/Release/{0}", model.ProjectName),
                DebugOutputPath      = string.Format("../../output/Debug/{0}", model.ProjectName),
                ProjectType          = model.ProjectType
            };

            projectModel.ProjectOutputType = projectModel.ProjectTypeToProjectOutputType(model.ProjectType);
            projectModel.AddCoreReferences();

            var projectFile = new FileInfo(projectRoot + projectModel.ProjectName + ".csproj");

            File.WriteAllText(projectFile.FullName, TemplateRenderer.Render(ProjectTemplate, projectModel));

            return(projectFile);
        }