private void CreateControl(string viewPath, bool createCodeBehind, DotvvmProjectMetadata dotvvmProjectMetadata) { var codeBehindPath = PathHelpers.ChangeExtension(viewPath, "cs"); var codeBehindClassName = NamingHelpers.GetClassNameFromPath(viewPath); var codeBehindClassNamespace = NamingHelpers.GetNamespaceFromPath(viewPath, dotvvmProjectMetadata.ProjectDirectory, dotvvmProjectMetadata.RootNamespace); // create control var controlTemplate = new ControlTemplate() { CreateCodeBehind = createCodeBehind }; if (createCodeBehind) { controlTemplate.CodeBehindClassName = codeBehindClassName; controlTemplate.CodeBehindClassNamespace = codeBehindClassNamespace; controlTemplate.CodeBehindClassRootNamespace = dotvvmProjectMetadata.RootNamespace; } FileSystemHelpers.WriteFile(viewPath, controlTemplate.TransformText()); // create code behind if (createCodeBehind) { var codeBehindTemplate = new ControlCodeBehindTemplate() { CodeBehindClassNamespace = codeBehindClassNamespace, CodeBehindClassName = codeBehindClassName }; FileSystemHelpers.WriteFile(codeBehindPath, codeBehindTemplate.TransformText()); } }