private void GenerateProjectFile(ProjectFileConfiguration projectFileConfiguration,
ProjectConfigurationData projectConfiguration,
IDictionary<string, object> session,
string serviceFilesRoot,
string projectFilename)
{
var projectName = Path.GetFileNameWithoutExtension(projectFilename);
string generatedContent = null;
try
{
var projectTemplateType = Type.GetType(
"ServiceClientGenerator.Generators.ProjectFiles." +
projectFileConfiguration.Template);
dynamic generator = Activator.CreateInstance(projectTemplateType);
generator.Session = session;
generatedContent = generator.TransformText();
}
catch (Exception)
{
throw new ArgumentException("Project template name "
+ projectFileConfiguration.Template + " is not recognized");
}
GeneratorDriver.WriteFile(serviceFilesRoot, string.Empty, projectFilename, generatedContent);
projectConfiguration.ConfigurationPlatforms = projectFileConfiguration.Configurations;
}